设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。
正确答案
LOOP: SUB AX,0
JZ STP
SAL AX,1
JNC NOD
INC CX
NOD:JMP LOOP
STP:HLT
答案解析
相似试题
(简答题)
编一程序,将DX寄存器中的16位数分成2组,每组8位,然后把这两组数分别放在BL和CL中。
(单选题)
设寄存器位数为8位,机器数采用补码形式(一位符号位),对应于十进制数-27,寄存器内为()。
(简答题)
编写子程序,入口参数是一个字型数据,存放在AX中,统计该字的16个二进制位中含有多少个1和多少个0。
(单选题)
寄存器BX和DX中存放有32位二进制数,其中BX中放高16位,下列程序段完成对这32位数扩大4倍的功能,那么该程序段中方框里应填的语句是()。
(简答题)
利用移位指令编写程序段,实现以下运算。 (1)计算AX←AX*10,其中AX为无符号数; (2)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)←(DX,AX)*2。 (3)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)←(DX,AX)/2。
(单选题)
用16位二进制补码表示一个带符号数,其最小数为()。
(简答题)
下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢? (1)85+69 (2)85+(-69) (3)85-(-69) (4)85-(69)
(简答题)
某计算机字长16位,每次存储器访问宽度16位,CPU中有8个16位通用寄存器。现为该机设计指令系统,要求指令长度为字长的整数倍,至多支持64种不同操作,每个操作数都支持4种寻址方式:立即(I)寄存器直接(R)寄存器间接(S)和变址(X),存储器地址位数和立即数均为16位,任何一个通用寄存器都可作变址寄存器,支持以下7种二地址指令格式(R、I、S、X代表上述四种寻址方式):RR型、RI型、RS型、RX型、XI型、SI型、SS型。请设计该指令系统的7种指令格式,给出每种格式的指令长度、各字段所占位数和含义,并说明每种格式指令需要几次存储器访问?
(简答题)
编写一短程序段,将AX中的16位二进制转换成4位ASCII码字符串。若AX=32510,则完成转换后,AX,DX分别是多少?