这个 汇编语言什么意思

 我来答
百度网友dd2a4ae
2013-02-22 · TA获得超过1.6万个赞
知道大有可为答主
回答量:2628
采纳率:11%
帮助的人:1681万
展开全部
; 这个程序的任务是计算AX中的数用二进制数表示时,其中1的个数
MOV AX, 1230H ; 先给AX一个初值。
MOV CL, 0 ; CL寄存器被用来作为1的个数的计数器,这里先初始化为0

START:

AND AX, AX ; AX中数据与自身进行“与”运算,用来设置ZF标志位。若是全零,则ZF=1
JZ STOP ; 如果AX中的1已经全部被移出,剩下的全是零,则跳出循环到STOP结束

SAL AX, 1 ; 对AX中数左移一位,最高位移出后存在CF里,右边补0
JNC GOGO ; 如果移到CF中的是0, 则跳到GOGO,不对CL计数操作
INC CL ; 移到CF中的是1,CL计数加1
GOGO:
JMP START ; 跳转到循环入口

STOP:
HLT ;停机

这个程序循环完成时,AX中内容全是0, CL是原来初始数据中1的个数。
所以:
CL=4 , AX=0
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式