求助:汇编中一个非常非常简单的题

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:57:06
编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(2800H)单元中。
微机计算机原理及其应用..中的基本汇编...
最好简单解释下..呵呵!

Code Segment
Assume CS:Code,ds:Code
Start: push cs
pop ds
mov si,2800h
sub ax,bx ;相减
jns $+4 ;若符号位复位,则直接保存差值
neg ax ;否则,求补,即0-AX
mov [si],ax ;保存绝对值
xit_Proc: mov ah,4ch ;结束程序
int 21h
abc dd 12345678
CODE Ends
END Start

MOV 2800H,BX ; BX 数放入2800H单元
SUB A,2800H ; 相减
MOV 2800H,A ; 结果放入2800H单元

ABS_AX_SUB_BX PROC
push ax
sub ax,bx
jnc SAVEAX ;jns SAVEAX,如果为正,跳过求绝对值
neg ax ;求绝对值
SAVEAX: mov [2800H],ax
pop ax
ABS_AX_SUB_BX ENDP