汇编语言怎么样显示计算结果?

guijiewan 2008-09-28 10:24:11
;计算1-100之和
.model small
.stack 256
.data
sum dw ?
.code
.startup
xor ax,ax
mov cx,100
again: add ax,cx
loop again
mov sum,ax
.exit 0
end
;请问大虾,怎么想上面的sum显示出来?希望补出完整语句,
;已知道mov ah,9
;int 21h
;还有请问汇编语言问题到哪里发帖?
...全文
1092 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
guijiewan 2008-09-29
  • 打赏
  • 举报
回复
;一个笨的方法是,接下再执行一次:
mov dx,ax
mov cl,8
shr dx,cl
;call ALdisp
;
guijiewan 2008-09-29
  • 打赏
  • 举报
回复
;只能转al的
ALdisp proc
push ax
push cx
push dx
push ax
mov dl,al ;转换al的高四位
mov cl,4
shr dl,cl
or dl,30h ;al 高四位变成3
cmp dl,39h
jbe aldisp1
add dl,7 ;是0Ah~0Fh,其ASCII码还要加上7
aldisp1:
mov ah,2 ;显示
int 21h
pop dx ;恢复原ax值到dx
and dl,0fh 转换al的低四位
or dl,30h
cmp dl,39h
jbe aldisp2
add dl,7
aldisp2:
mov ah,2
int 21h
pop dx
pop cx
pop ax
ret
ALdisp endp
cnzdgs 2008-09-28
  • 打赏
  • 举报
回复
转换成十进制字符串:循环除以10,每次得到的余数加30H转为ASCII码,这样得到的是从低到高的次序,只要你反过来储存就是正序了。

汇编问题发到[其它开发语言]—[汇编语言]版块。
可以参考别人发过的帖子,经常有人问这个问题。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧