59 lines
1.3 KiB
NASM
59 lines
1.3 KiB
NASM
.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
|