46 lines
594 B
ArmAsm
46 lines
594 B
ArmAsm
|
loa $1, 200
|
||
|
jmc print
|
||
|
loa $1, 201
|
||
|
jmc print
|
||
|
loa $1, 202
|
||
|
jmc print
|
||
|
loa $1, 203
|
||
|
jmc print
|
||
|
loa $1, 204
|
||
|
jmc print
|
||
|
lui $1, 512
|
||
|
jmc printAscii
|
||
|
hlt
|
||
|
print:
|
||
|
add $20, $1, $0
|
||
|
printLoop:
|
||
|
sto $20, 65521
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
jpz endPrint
|
||
|
jmp printLoop
|
||
|
endPrint:
|
||
|
ret
|
||
|
printAscii:
|
||
|
add $20, $1, $0
|
||
|
asciloop:
|
||
|
and $21, $20, 15
|
||
|
or $21, $21, 48
|
||
|
sub $22, $21, 10
|
||
|
jpc smaller
|
||
|
add $21, $21, 7
|
||
|
smaller:
|
||
|
sto $21, 65521
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
shr $20, $20, $0
|
||
|
jpz asciloop:
|
||
|
ret
|