Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .orig x3000
- LD R6, CONVTO
- LEA R0, PROMPT
- PUTS
- GETC
- OUT
- LD R1, SUB_NUM_ONES_3200
- JSRR R1
- LD R0, NEWLINE
- OUT
- LEA R0, RESULT
- PUTS
- ADD R0, R4, #0
- OUT
- LEA R0, RESULT_2
- PUTS
- ADD R0, R2, R6
- OUT
- LD R0, NEWLINE
- OUT
- HALT
- ;---------------
- ; Local data
- ;---------------
- SUB_NUM_ONES_3200 .FILL x3200
- PROMPT .STRINGZ "Enter a single character: "
- RESULT .STRINGZ "The number of 1's in '"
- RESULT_2 .STRINGZ "' is: "
- NEWLINE .FILL '\n'
- CONVTO .FILL #48
- ;------------
- ; Subroutine
- ;------------
- .ORIG x3200
- ;-------------------------
- ; Subroutine Instructions
- ;-------------------------
- ST R7, BACKUP_R7_3200
- LD R1, DEC_0
- LD R2, DEC_0
- LD R3, COUNTER
- ADD R1, R0, #0
- ADD R4, R0, #0
- ZERO_OR_ONE
- ADD R1, R1, #0
- BRzp ZERO
- BRn ONE
- ZERO
- ADD R1, R1, R1
- ADD R3, R3, #-1
- BRz FINISH
- BRp ZERO_OR_ONE
- ONE
- ADD R1, R1, R1
- ADD R2, R2, #1
- ADD R3, R3, #-1
- BRz FINISH
- BRp ZERO_OR_ONE
- FINISH
- LD R7, BACKUP_R7_3200
- RET
- ;-----------------
- ; Subroutine data
- ;-----------------
- BACKUP_R7_3200 .BLKW #1
- DEC_0 .FILL #0
- COUNTER .FILL #16
- .end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement