-
Notifications
You must be signed in to change notification settings - Fork 2
Sample programs
Pavel Dovgalyuk edited this page Nov 22, 2017
·
57 revisions
; A, B, or C contain successive elements of the sequence ORG 0 MOVI B, 1 ; 00: 1000 0001 0000 0001 (8101h) Label: ADD C, B, A ; 01: 0100 1010 0001 1000 (4B18h) MOV A, B ; 02: 0001 1000 0001 0000 (1810h) MOV B, C ; 03: 0001 1001 0010 0000 (1920h) JMP Label ; 04: 1000 0111 0000 0001 (8701h)
; A, B - operands, A - result MOVI A, op1 MOVI B, op2 LOOP: OR F, A, A JMP Z, END OR F, B, B JMP Z, END
TODO
; C, D - operands, pair AB - result MOVI C, op1 MOVI D, op2 MOVI A, 0 MOVI B, 0 MOVI M, 0 Loop: SHR C, C JMP NC, Next ADD A, A, D ADC B, B, M Next: ADD D, D, D ADC M, M, M OR C, C, C JMP NZ,Loop HALT
; C, D - operands, A - result MOVI C, op1 MOVI D, op2 MOVI A, 0 Loop: SHR C, C JMP NC, Next ADD A, A, D Next: ADD D, D, D OR C, C, C JMP NZ,Loop HALT
; D, E - operands, D - result, A - remainder MOVI D, op1 MOVI E, op2 MOVI A, 0 MOVI C, 0 MOVI B, 8 LOOP: SHR C, C ADC D, D, D ADC A, A, A SUB F, A, E ADC C, C, 0 XOR C, C, 1 JMP Z, NEXT SUB A, A, E NEXT: SUB B, B, 1 JMP NZ, LOOP SHR C, C ADC D, D, D HALT