B setvar verse DEFW 2 menmow DEFB " went to mow\n",0 mowdow DEFB "Went to mow a meadow\n",0 men DEFB "men",0 man DEFB "man",0 comma DEFB ",",0 nl DEFB "\n",0 space DEFB " ",0 and_dog DEFB "and his dog, Spot.",0 ALIGN setvar MOV R1, #0 ADR R2, 5 main SUB R2, R2, #1 CMP R2, #0 BGT versemn SWI 2 versemn MOV R0, R2 SWI 4 ADR R0, space SWI 3 CMP R2, #1 BEQ sglrvr ADR R0, men ; SWI 3 contvr ADR R0, menmow SWI 3 ADR R0, mowdow SWI 3 MOV R3, R2 B verselp contin ADR R0, nl SWI 3 ADR R0, mowdow SWI 3 ADR R0, nl SWI 3 B main verselp MOV R0, R3 SWI 4 ADR R0, space SWI 3 CMP R3, #1 BEQ singlr ADR R0, men SWI 3 ADR R0, comma SWI 3 contver ADR R0, space SWI 3 SUB R3, R3, #1 CMP R3, #0 BEQ contin B verselp singlr ADR R0, man SWI 3 ADR R0, space SWI 3 ADR R0, and_dog SWI 3 B contver sglrvr ADR R0, man SWI 3 B contvr