Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set a, data
- jsr strlen
- set b, a
- set a, data
- jsr reverse
- jsr print
- set PC, end
- ; reverse the string in place at [a], of len b
- :reverse
- set PUSH, a
- sub b, 1; len - 1
- set i, 0; start
- set a, POP
- :doreverse
- ifg i, b
- set PC, POP
- set x, a
- add x, i
- set y, a
- add y, b
- set c, [x]
- set [x], [y]
- set [y], c
- add i, 1
- sub b, 1
- set PC, doreverse
- :strlen
- set i, 0
- :docount
- ife [a], 0x0
- set PC, countend
- add i, 1
- add a, 1
- set PC, docount
- :countend
- set a, i
- set PC, POP
- ; print the string at [a] ending with 0x0
- :print
- set PUSH, a
- set i, 0
- :doprint
- ife [a], 0x0
- set PC, printend
- set [0x8000+i], [a]
- add i, 1
- add a, 1
- set PC, doprint
- :printend
- set a, POP
- set PC, POP
- :end
- set PC, end
- :data
- dat "Hello world"
- :itoa
- set j, 0 ;index
- set z, 48
- set i, a
- mod i, 10
- div a, 10
- add z, i
- set [0x1000+j], z
- add j, 1
- set z, 48
- ifg a, 0
- sub PC, 11
- set [0x1000+j], 0x0
- set PC, POP
Add Comment
Please, Sign In to add comment