早教吧作业答案频道 -->其他-->
1.假设寄存器AX=1234H,DX=0A000HMOVBX,0MOVCX,BXSUBCX,AXSBBBX,DXMOVAX,CXMOVDX,BX上述程序段执行后AX=0EDCCH,DX=5FFFH2.MOVAX,234HMOVCL,3ROLAX,CLDECAXMOVCX,4MULCX此段程序执行完后,(AX)=467CH,(CX)=
题目详情
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...的网友还看了以下:
阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。[说明] 以下[C程序 2020-05-26 …
计算机基础题求解计算机的工作原理是.A,机电原理B.程序存储C.程序控制D.自动控制.2.能够将高 2020-06-06 …
冯.诺伊曼计算机工作原理的设计思想是。A.程序编制B.存储程序C.程序设计D.算法设计冯.诺伊曼计 2020-07-02 …
5一般编写并执行C程序的过程,第一步应该是:.A使用连接程序进行连接,把.obj文件以及需要的库函数 2020-11-23 …
计算机等考问题以下叙述中正确的是(A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的 2020-12-08 …
一道C语言题,(12)下列叙述中正确的是.A)每个C程序文件中都必须有一个main()函数B)在C程 2020-12-14 …
一道C语言题:下列叙述错误的是()A,一个C语言程序只能实现一种算法B,C程序可以由多个程序文件组成 2020-12-14 …
(32)在C语言中,下列叙述中正确的是()A.每个C程序文件中都必须有一个main()函数B.在C程 2020-12-14 …
一下叙述中正确的是A)C程序的基本组成单位是语句B)C程序中每一行只能写一条语句以下叙述中正确的是A 2020-12-15 …
编写计算器程序,用c++程序语言.请编写程序实现任意数学表达式求值计算器功能说明:(^)是乘方运算符 2021-01-14 …