diff --git a/ass1/arithr.asm b/ass1/arithr.asm new file mode 100644 index 0000000..69453f4 --- /dev/null +++ b/ass1/arithr.asm @@ -0,0 +1,59 @@ +.code +arithr START 0 + + LDA x ; A = x + LDB y ; B = y + + RMO A,S ; S = x + RMO B,T ; T = y + +. sum = x + y + RMO S,A ; A = x + ADDR T,A ; A = x + y + STA sum + +. diff = x - y + RMO S,A ; A = x + SUBR T,A ; A = x - y + STA diff + +. prod = x * y + RMO S,A ; A = x + RMO T,B ; B = y + MULR B,A ; A = x * y + STA prod + +. quot = x / y + RMO S,A ; A = x + RMO T,B ; B = y + DIVR B,A ; A = x / y + STA quot + + +. mod = x % y = x - (x / y)*y + RMO S,A + RMO T,B + DIVR B,A ; A = q = x/y + RMO A,L ; L = q (shrani) + + RMO T,A ; A = y + RMO L,B ; B = q + MULR B,A ; A = y*q = produkt + + RMO S,B ; B = x + SUBR A,B ; B = x - (y*q) + STB mod + +HALT J HALT + +.data +x WORD 5 +y WORD 2 + +sum RESW 1 +diff RESW 1 +prod RESW 1 +quot RESW 1 +mod RESW 1 + + END arithr