Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .BLKW 1000. ;
- START: MOV #START, SP ;INIT SP
- SUB #8., SP ;INC STACK
- MOV N, 4(SP) ;MOV N INTO THE FIRST STACK
- MOV M, 6(SP) ;MOV M INTO THE FIRST STACK
- MOV #RET, 0(SP) ;
- JMP EXPO ;
- RET: MOV 2(SP), RES ;
- ADD #8., SP ;
- HALT ;
- N: .BLKW 1 ;
- RES: .BLKW 1 ;
- EXPO: TST 4(SP) ;
- BEQ BASIS ;
- MOV 4(SP), R0 ;
- DEC R0 ;
- SUB #8., SP ;
- MOV R0, 4(SP) ;
- MOV M, 6(SP) ;
- ASL R0 ;
- BCS EVEN ;
- ASR R0 ;
- MOV #RRET, 0(SP) ;
- BR SKIP ;
- EVEN: MOV R0, 4(SP) ;
- MOV #DIVE ;
- SKIP: JMP EXPO ;
- RRET: MOV 2(SP), R1 ;
- ADD #8., SP ;
- MUL 6(SP), R1 ;
- MOV R1, 2(SP) ;
- JMP @0(SP) ;
- DIVE: MOV 2(SP), R1 ;
- ADD #8., SP ;
- MUL 6(SP), #2 ;
- ASL 4(SP) ;
- MOV R1, 2(SP) ;
- JMP @0(SP) ;
- BASIS: MOV #1, 2(SP) ;
- JMP @0(SP) ;
- .END ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement