永发信息网

编写一个程序,统计寄存器AX中二进制位“1”的个数,结果以一位十六进制数形式显示到屏幕上。 这是题目,要求用汇编语言程序编写,哪位大虾伸出你的手帮帮小弟啊,不胜感激!!!

答案:2  悬赏:70  手机版
解决时间 2021-05-20 02:08
急求答案,要详细的程序,非诚勿扰,谢谢!!!
最佳答案
assume cs:code

code segment
start:
mov ax, 1234
mov cx, 16
xor bx, bx
next:
rol ax, 1
test ax, 1
jz zero
inc bx
zero:
loop next
cmp bx, 9
jg hex
or bl, 30h
mov dl, bl
jmp output
hex:
sub bx, 10
add bx, 'A'
mov dl, bl
output:
mov ah, 2
int 21h
mov ax, 4c00h
int 21h
code ends
end start
全部回答

assume cs:code code segment

onenum: ;数1的个数存在DX中 mov dx,0 mov cx,16 nextbit: ror ax,1 ;最右位移入CF jnc bitzero inc dx bitzero: loop nextbit ;转16进制 add dx,'0' ;变成ASCII cmp dx,'9' jbe jbe10 ;小于等于9,不需要特殊处理了 add dx,'A'-'0'-0ah ;不是数字的,重新计算 jbe10: ;输出结果 mov ah,2 ;功能号2,输出字符 int 21h ;DOS功能调用 mov ax, 4c00h ;功能号4c,程序结束。al=0表示成功。 int 21h ;DOS功能调用

code ends end onenum

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
北大老师对毕业生寄语,幼儿园毕业纪念家长对
我的QQ被老实限制登陆了,想改密码问题也忘记
怎样自己设置上传DIY彩铃
形容人好的诗句
谁能给我 残花谢 这首歌曲的空间链接?
谁能告诉我流星雨结局中俞灏明到底死没死!
1.电脑主机2500以内,不要显示器,什么配置好?
腾迅公益 能用手机开通吗 或Q币
卖火车票和飞机票的哪个工资高些
墨鱼骨补钙的原理?
3Dmax9 单位在那设置??
股票000031,000061,600030,600590,600782
魔兽世界正在连接就是连接不上,一会就断开连
地下城里的卡片有什么用
梁静茹给你什么感觉
推荐资讯
我什莫我魅力比他高也不能PK他
DNF多少级觉醒啊
我现在怀孕了,可是我没有结婚,父母反对我的
大学里怎样保持一颗平静的心?
推荐一部最近的喜剧电影2010下半年的最好
我想成功怎么办?
QQ堂进不了商城
你们相信缘吗?
家里用的笔记本是win7系统的,现在找不到像XP
我装了卡巴斯基杀毒软件后一直提示说有虚拟网
VISTA 系统能用的CAD,谁能传我个?
新华书店运到一批新书其中文艺书有1800本,比
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?