永发信息网

把BX中的1 的个数放到AL 中,并在屏幕中显示1的个数.

答案:1  悬赏:40  手机版
解决时间 2021-11-07 12:26
把BX中的1 的个数放到AL 中,并在屏幕中显示1的个数.
最佳答案
mov bx,1234 给bx置数
xor al,al 清al
mov cx,10h 移位循环次数(16次)
ST: mov dx,01h 屏蔽高于最低位的值
and dx,bx 取每次右移最低位
add al,dl 把值统计入al里
shr bx,01 右移一位
dec cx 循环变量减一
test cx,cx 检测循环是否结束
jne ST 未结束就跳
mov ah,02h 置dos中断功能(输出字符)
cmp al,0ah 如果多于10个1,需要显示两个字符
jl OCT1 小于就跳
mov dl,31h 先显示1个"1"作为十位
push ax 保存al的结果
int 21h 中断显示
pop ax 回复al的结果
sub al,0ah 求个位
OCT1:
mov dl,al
add dl,30h 计算个位的ascii
int 21h 显示
int 20h 结束

在debug中测试通过,下面是测试BX为0xFADC时的运行结果:

-u fd
1411:00FD BBDCFA MOV BX,FADC
1411:0100 30C0 XOR AL,AL
1411:0102 B91000 MOV CX,0010
1411:0105 BA0100 MOV DX,0001
1411:0108 21DA AND DX,BX
1411:010A 00D0 ADD AL,DL
1411:010C 49 DEC CX
1411:010D D1EB SHR BX,1
1411:010F 85C9 TEST CX,CX
1411:0111 75F2 JNZ 0105
1411:0113 B402 MOV AH,02
1411:0115 3C0A CMP AL,0A
1411:0117 7C08 JL 0121
1411:0119 B231 MOV DL,31
1411:011B 50 PUSH AX
1411:011C CD21 INT 21
-g
11
Program terminated normally
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
长林村地址在什么地方,想过去办事,
现代维拉克斯这车怎么样?
三矾是哪三矾及化学式
类似小写n的字符!!!!!!!!!!
花鸟市场卖的观赏鳌虾和一般吃得小龙虾有区别
Q飞什么时候更新
2007到2016是几年
问:我女朋友她被人在贴吧被人黑了,黑她的那
都说把犯错的姨娘送到庄子去,为什么送到庄子
宿性的起源,人口数量和分布地区分别是什么?
上次保养4s没装空气滤芯现在才知道怎么办
带宥字的男孩名字
2Km的市政道路工程,项目部人员该如何配置?
妈妈的墓碑上为什么不刻女儿名字
照片里照出来的腿的粗细和真实看到的粗细一样
推荐资讯
一个8组的电加热,其他7组开的时候电流表显示
你们能查到成绩吗
让铁水烫了应该怎么办
如果想做交响乐团钢琴演奏 (即是concert pla
在银行贷17万5面利息多少,怎样算的
4g网络不稳定,同一个地区的人,别人的苹果都
祥云县金山汽车检测服务有限责任公司地址在哪
我的腾达无线路由器为什么突然不能用了?
为什么人体的脚板和腋下如此敏感?
巴菲特买伯克希为哈撒韦股票的时候是多少钱?
神木金铭小型汽车科目三考场办公地址在什么地
56+38+62加法怎么算简单方法
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?