
一道简单的汇编程序题!急求!在线等!
编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放在内存2800H单元中。请高手指教!您给我的是开始程序段吧,小弟是初学者,想要一个完整的可以直接编译的程序,...
编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放在内存
2800H单元中。请高手指教!
您给我的是开始程序段吧,小弟是初学者,想要一个完整的可以直接编译的程序,可以吗? 展开
2800H单元中。请高手指教!
您给我的是开始程序段吧,小弟是初学者,想要一个完整的可以直接编译的程序,可以吗? 展开
展开全部
CLC ;清除CF
MOV CX,AX
SUB AX,BX ;AX←AX-BX,影响CF
JC AA ;CF=1转AA去执行(即AX MOV DI,2800H ;结果指针DI=2800H
MOV [DI],AX ;结果送到2800H和2801H单元
JMP LP ;暂停
AA:SUB BX, CX ;BX←BX-CX
MOV DI,2800H
MOV [DI],BX
HLT
或者:
CLC ;清除CF
SUB AX,BX ;AX←AX-BX
JC AA ;CF=1转AA去执行
MOV DI,2800H;
MOV [DI],AX ;结果送到2800H和2801H单元
HLT ;暂停
AA:SUB BX, AX ;BX←BX-AX
MOV DI,2800H
MOV [DI],BX
HLT
MOV CX,AX
SUB AX,BX ;AX←AX-BX,影响CF
JC AA ;CF=1转AA去执行(即AX MOV DI,2800H ;结果指针DI=2800H
MOV [DI],AX ;结果送到2800H和2801H单元
JMP LP ;暂停
AA:SUB BX, CX ;BX←BX-CX
MOV DI,2800H
MOV [DI],BX
HLT
或者:
CLC ;清除CF
SUB AX,BX ;AX←AX-BX
JC AA ;CF=1转AA去执行
MOV DI,2800H;
MOV [DI],AX ;结果送到2800H和2801H单元
HLT ;暂停
AA:SUB BX, AX ;BX←BX-AX
MOV DI,2800H
MOV [DI],BX
HLT
展开全部
code segment
assume cs:code
start:
mov ax,0
mov ds,ax
sub ax,bx
ja _1
neg ax
_1:
mov [2800h],ax
mov ah,4ch
int 21h
code ends
end start
assume cs:code
start:
mov ax,0
mov ds,ax
sub ax,bx
ja _1
neg ax
_1:
mov [2800h],ax
mov ah,4ch
int 21h
code ends
end start
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
code
segment
assume
cs:code
start:
mov
ax,0
mov
ds,ax
sub
ax,bx
ja
_1
neg
ax
_1:
mov
[2800h],ax
mov
ah,4ch
int
21h
code
ends
end
start
segment
assume
cs:code
start:
mov
ax,0
mov
ds,ax
sub
ax,bx
ja
_1
neg
ax
_1:
mov
[2800h],ax
mov
ah,4ch
int
21h
code
ends
end
start
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询