注册 登录
编程论坛 汇编论坛

[求助]怎样实现两个五字节十六进制数相加(用汇编语言)

damofei 发布于 2006-11-11 16:06, 1505 次点击
数1:0f8h,60h,0ach,74h,3bh
数2:0c1h,36h,9eh,0dh,20h
请大家用汇编指令编程,要求屏幕上显示计算结果!大家快来参与啊!
3 回复
#2
damofei2006-11-11 16:52
data segment
data1 db 0f8h,60h,0ach,74h,3bh,'$'
data2 db 0c1h,36h,9eh,0d5h,20h,'$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov cx,5
mov si,0
clc
looper: mov al,data2[si]
adc data1[si],al
inc si
dec cx
jnz looper
hlt
mov dx,offset data1
mov ah,09h
int 21h
code ends
end start
大家帮我看看这个程序,为什么没有显示结果呢?
#3
菜鸟上路2006-11-11 17:10
[URL=http://bbs.bc-cn.net/viewthread.php?tid=100665]http://bbs.bc-cn.net/viewthread.php?tid=100665[/URL]
看下此帖
#4
wchx2152006-11-11 17:35

楼主不能用hlt指令呀
由执行HLT引起的暂停,只有RESET(复位)、NMI(非屏蔽中断请求)、INTR(可屏蔽的外部中断请求)信号可以使其退出暂停状态。
还有你的程序没返回dos也不行的,反正最好别用hlt而要用mov ax,4c00h,int 21h

1