1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
B start
verse DEFW 4
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
start MOV R1, #0
MOV R2, #4
;4 men went to mow
main SUB R2, R2, #1
ADR R0, R2
SWI 3
ADR R0, space
SWI 3
ADR R0, men
SWI 3
ADR R0, menmow
;Went to mow a meadow\n
ADR R0, mowdow
SWI 3
;4 men, X men,
; R2 is the number from 4 to 1
ADR R0, R2
SUB R0, R0, R1
CMP R0, #1 ;i need 2 counters
ADD R1, R1, #1 ;increase the substract value
SWI 4
BEQ singlr
ADR R0, men
SWI 3
B main
ADR R0, mowdow
SWI 3
CMP R2, #4
BST main
SWI 2
singlr ADR R0, man
SWI 3
B main
|