作业帮 > 综合 > 作业

高分求汇编语言答案.1.设AX寄存器中有一个10位二进制数,编写程序,统计AX中“1”的个数,统计结果送入CX

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 02:37:47
高分求汇编语言答案.1.设AX寄存器中有一个10位二进制数,编写程序,统计AX中“1”的个数,统计结果送入CX
呵呵,楼上的,跑偏了哈! 楼主问的,不是单片机方面的.
假设楼主规定的10位数,是在AX的低10位中. 80x86汇编语言程序如下:
start:
MOV BX, 0
MOV CX, 10
NEXT:
SHR AX, 1 ;AX右移一位,末位进入CF
JNB NNNN ;CF为0转移.
INC BX ;CF为1则加一.
NNNN:
LOOP NEXT ;CX减一,非零转移.
MOV CX, BX ;把统计个数,送到题目指定的寄存器.
HLT ;停止.
END
----------
经过百度Hi交流,题目中,实际上是16位数字,不是10位数.
那么把:MOV CX, 10 中的10,改成16即可.