1.假设寄存器AX=1234H,DX=0A000H
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/07 20:54:29
1.假设寄存器AX=1234H,DX=0A000H
MOV BX,0
MOV CX,BX
SUB CX,AX
SBB BX,DX
MOV AX,CX
MOV DX,BX
上述程序段执行后AX=___0EDCCH____ ,DX=__5FFFH_____
2.MOV AX,234H
MOV CL,3
ROL AX,CL
DEC AX MOV CX,4
MUL CX
此段程序执行完后,(AX)= ___467CH____ ,(CX)= _____4__
3.DA1 DB 83H,72H,61H,94H,5AH
┇
MOV CX,WORD PTR [DA1]
AND CX,0FH
MOV AL,[DA1+3]
SHL AL,CL
上述指令序列执行后,AL=___0A0H____,CL=___03H____.
MOV BX,0
MOV CX,BX
SUB CX,AX
SBB BX,DX
MOV AX,CX
MOV DX,BX
上述程序段执行后AX=___0EDCCH____ ,DX=__5FFFH_____
2.MOV AX,234H
MOV CL,3
ROL AX,CL
DEC AX MOV CX,4
MUL CX
此段程序执行完后,(AX)= ___467CH____ ,(CX)= _____4__
3.DA1 DB 83H,72H,61H,94H,5AH
┇
MOV CX,WORD PTR [DA1]
AND CX,0FH
MOV AL,[DA1+3]
SHL AL,CL
上述指令序列执行后,AL=___0A0H____,CL=___03H____.
像83H、0A0H这些数,都是表示的是16进制数.
1、
MOV BX,0-------BX=0
MOV CX,BX--------CX=BX=0
SUB CX,AX--------CX-AX=0EDCCH (你可以用电脑的计算器选到程序员情况下来算一下)
-------------(SUB是不带结尾的减法指令,这里的执行操作:CX-AX,结果放在CX里面)
SBB BX,DX-------BX-DX=5FFFH
-------------(SBB是带借位减法,这里的执行操作:BX-DX-CF,其中,CF是借位,最后结果放在BX里,BX-CF=6000H,再减去CF=1,就是5FFFH了.)
MOV AX,CX---------把CX 里的数放到AX,AX=0EDCCH
MOV DX,BX---------把BX里的数放到DX
2、
ROL是循环左移指令,表示将操作数左移,由CL指定移位位数,最高位一方面进入标志位CF,一方面移入最低位形成环路.
这里先说一下~AX组成是高位AH和低位AL,AH和AL都各有8位.所以这里你看到的ROL和SHL的结果一样,因为他们都没有移出去的.
MOV AX,234H-------AX=234H,用二进制表示就是1000110100
MOV CL,3-----------CL指定左移位数,左移3位
ROL AX,CL-----------左移3位,就是1000110100000,也就是AX=11A0H,
DEC AX---------------AX自减一,AX=119FH
MOV CX,4-----------CX=4
MUL CX--------------AX*CX,结果的低位字(16位)放在AX中,高位字(16位)放在DX中,这里不需要高位,AX=467CH.
3、
DA1 DB 83H,72H,61H,94H,5AH ---定义的数据段,DB表示是字节型的
┇
MOV CX,WORD PTR [DA1]---------CX指向前面定义的数据段DA1,WORD PTR [DA1]表示是取字型的,就是说两个字节,这里取的是83H,72H,但是因为存放的缘故,低位在前,高位在后,所以83H是低位
AND CX,0FH ---------AND表示是‘与’操作,即两个操作数对应位都为1时才为1.0FH换为二进制为00001111,和刚刚取的83H相与,83H二进制为10000011,相与后,为00000011,
所以CX=3H(CL=3H).
MOV AL,[DA1+3]--------去数据段中DA1+3这个数 94H放在AL中,AL=10010100
SHL AL,CL --------------SHL,逻辑左移指令,左移后,低位补0,和ROL不同的是,不形成环路.这里逻辑左移CL位,即移动3位,为10100000,即AL=0A0H.
做了很久了,希望帮得到你~
^-^
1、
MOV BX,0-------BX=0
MOV CX,BX--------CX=BX=0
SUB CX,AX--------CX-AX=0EDCCH (你可以用电脑的计算器选到程序员情况下来算一下)
-------------(SUB是不带结尾的减法指令,这里的执行操作:CX-AX,结果放在CX里面)
SBB BX,DX-------BX-DX=5FFFH
-------------(SBB是带借位减法,这里的执行操作:BX-DX-CF,其中,CF是借位,最后结果放在BX里,BX-CF=6000H,再减去CF=1,就是5FFFH了.)
MOV AX,CX---------把CX 里的数放到AX,AX=0EDCCH
MOV DX,BX---------把BX里的数放到DX
2、
ROL是循环左移指令,表示将操作数左移,由CL指定移位位数,最高位一方面进入标志位CF,一方面移入最低位形成环路.
这里先说一下~AX组成是高位AH和低位AL,AH和AL都各有8位.所以这里你看到的ROL和SHL的结果一样,因为他们都没有移出去的.
MOV AX,234H-------AX=234H,用二进制表示就是1000110100
MOV CL,3-----------CL指定左移位数,左移3位
ROL AX,CL-----------左移3位,就是1000110100000,也就是AX=11A0H,
DEC AX---------------AX自减一,AX=119FH
MOV CX,4-----------CX=4
MUL CX--------------AX*CX,结果的低位字(16位)放在AX中,高位字(16位)放在DX中,这里不需要高位,AX=467CH.
3、
DA1 DB 83H,72H,61H,94H,5AH ---定义的数据段,DB表示是字节型的
┇
MOV CX,WORD PTR [DA1]---------CX指向前面定义的数据段DA1,WORD PTR [DA1]表示是取字型的,就是说两个字节,这里取的是83H,72H,但是因为存放的缘故,低位在前,高位在后,所以83H是低位
AND CX,0FH ---------AND表示是‘与’操作,即两个操作数对应位都为1时才为1.0FH换为二进制为00001111,和刚刚取的83H相与,83H二进制为10000011,相与后,为00000011,
所以CX=3H(CL=3H).
MOV AL,[DA1+3]--------去数据段中DA1+3这个数 94H放在AL中,AL=10010100
SHL AL,CL --------------SHL,逻辑左移指令,左移后,低位补0,和ROL不同的是,不形成环路.这里逻辑左移CL位,即移动3位,为10100000,即AL=0A0H.
做了很久了,希望帮得到你~
^-^
1.假设寄存器AX=1234H,DX=0A000H
汇编语言编写一个程序,统计AX中0 的个数,结果放在CL寄存器中,假设AX=OFF37H,CL=13
微机原理与接口编写一个程序,统计AX寄存器中1的个数,结果放在CL寄存器中。(假设AX=OFF37H,则CL=13)
写出每条汇编指令执行后,相关寄存器中的值 mov ax,62627 AX= mov ah,31h AX= mov al,
汇编指令中给AX寄存器清0并使CF=0,下面那个是错的:MOV AX,0 XOR AX,AX SUB AX,AX AND
若AX=26D3H,CX=7908H,CF=1,执行后,寄存器AX、BX、CL、SI、DS的值分别是
dx:ax寄存器对是把dxax这两个寄存器合成有一个寄存器来存储数据吗
mov AX,[SI] 和 MOV [SI],AX 各自什么意思,有什么区别,假设DS=2000H,SI=1234H
CPU执行OUTDX,AL指令时,()的值输出到地址总线上?A.AL寄存器 B.AX寄存器 C.DL寄存器 D.DX寄存
段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址是多少?指向这一物理地址的CS值和IP值
执行下列程序段后AX,BX,CX,DX,寄存器的内容分别是什么?
关于微机原理的题目:段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?