Un esempio di utilizzo di complemento a due per effettuare la sottrazione da due parole, in questo caso proposto di 8 bit. Sfruttiamo le funzioni NOT ed INC.
; esempio 08
; date due parole di 8 bit, fai la differenza con il complemento a due
; per il complemento si prende la parola completa di tanti zeri quanti sono le cifre del primo numero, si nega
; invertendo gli uno con gli zero e gli zero con gli uno, si aggiunge +1
; usiamo le funzioni NOT e INC
.STACK
.DATA
opr1 dw 11111011b
opr2 dw 11100101b ; il negato sarà 00011010b
.CODE
.STARTUP
; usa not e ADD per fare il complemento a due di opr2
MOV AX, opr1
NOT AX
INC AX ;incrementa di 1: il classico ì++ del c++!
;in modo simile si comporta DEC che sottrae 1
ADD AX, opr2
.EXIT
END
Ultima modifica 21 Febbraio 2022