汇编语言问题!
1。分别说明下列两组指令中两条指令操作的相同点和不同点。(1)SUBAX,BXCMPAX,BX(2)ANDCX,DXTESTCX,DX2。设AX寄存器中有一个16位二进制...
1。分别说明下列两组指令中两条指令操作的相同点和不同点。
(1)SUB AX,BX CMP AX,BX
(2)AND CX,DX TEST CX,DX
2。设AX寄存器中有一个16位二进制数,编写程序,统计AX中“l”的个数,统计结果送CX中,仅写出程序主体即可。 展开
(1)SUB AX,BX CMP AX,BX
(2)AND CX,DX TEST CX,DX
2。设AX寄存器中有一个16位二进制数,编写程序,统计AX中“l”的个数,统计结果送CX中,仅写出程序主体即可。 展开
3个回答
展开全部
1、分别说明下列两组指令中两条指令操作的相同点和不同点。
(1)SUB AX,BX CMP AX,BX
(2)AND CX,DX TEST CX,DX
答:
1、相同点
两条指令执行了几乎相同的操作。第一条指令,把操作结果保存在目的操作数中;第二条指令,执行相同的运算,但只影响标志位,为下一步的判断做准备。
2、不同点
第一组指令执行的是减法运算,第二组指令执行的是逻辑与运算。
2、设AX寄存器中有一个16位二进制数,编写程序,统计AX中“l”的个数,统计结果送CX中,仅写出程序主体即可。
xor bx,bx ;计数器初值
mov cx,16 ;循环次数
repeat:
shl ax,1 ;左移一位
jns $+3 ;符号位不置位,下一次操作
inc bx,bx ;符号位置位,计数
loop repeat ;循环,下一次操作
mov cx,bx ;统计结果送CX中
(1)SUB AX,BX CMP AX,BX
(2)AND CX,DX TEST CX,DX
答:
1、相同点
两条指令执行了几乎相同的操作。第一条指令,把操作结果保存在目的操作数中;第二条指令,执行相同的运算,但只影响标志位,为下一步的判断做准备。
2、不同点
第一组指令执行的是减法运算,第二组指令执行的是逻辑与运算。
2、设AX寄存器中有一个16位二进制数,编写程序,统计AX中“l”的个数,统计结果送CX中,仅写出程序主体即可。
xor bx,bx ;计数器初值
mov cx,16 ;循环次数
repeat:
shl ax,1 ;左移一位
jns $+3 ;符号位不置位,下一次操作
inc bx,bx ;符号位置位,计数
loop repeat ;循环,下一次操作
mov cx,bx ;统计结果送CX中
展开全部
第一题二楼答的对
第二题代码如下:
CSEG SEGMENT
assume cs:cseg
mov cx,0
repeat:
test ax,0ffffh
jz exit
jns shift
inc cx
shift:
shl ax,1
jmp repeat
exit:
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
CSEG ENDS
END MAIN
第二题代码如下:
CSEG SEGMENT
assume cs:cseg
mov cx,0
repeat:
test ax,0ffffh
jz exit
jns shift
inc cx
shift:
shl ax,1
jmp repeat
exit:
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
CSEG ENDS
END MAIN
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.(1)sub指令执行减法,结果保存在ax中
cmp指令执行减法,结果不保存
(2)and指令执行与操作,结果保存在cx中
test指令执行与操作,结果不保存
2.这个有点麻烦~不想写~用移位可以实现~再其他方法我也不会了~毕竟我只是浅薄~
cmp指令执行减法,结果不保存
(2)and指令执行与操作,结果保存在cx中
test指令执行与操作,结果不保存
2.这个有点麻烦~不想写~用移位可以实现~再其他方法我也不会了~毕竟我只是浅薄~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询