电子科大教材-第三章作业解答.doc

电子科大教材-第三章作业解答.doc

ID:57187208

大小:28.50 KB

页数:8页

时间:2020-08-05

电子科大教材-第三章作业解答.doc_第1页
电子科大教材-第三章作业解答.doc_第2页
电子科大教材-第三章作业解答.doc_第3页
电子科大教材-第三章作业解答.doc_第4页
电子科大教材-第三章作业解答.doc_第5页
资源描述:

《电子科大教材-第三章作业解答.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.说明寻址方式(1)ADDAX,0A51H源:立即数寻址目的:寄存器寻址(2)MOVBL,DATA1源:直接寻址(变量作为符号位移量)EA=DATA1目的:寄存器寻址(3)MOVDS,AX源:寄存器寻址目的:寄存器寻址(4)ANDAL,VAR1+2源:直接寻址(表达式的计算在汇编阶段完成)EA=VAR1+2目的:寄存器寻址(5)TEST[SI],CL源:寄存器寻址目的:寄存器间接寻址EA=(SI)(6)ORARRY[BX],-1源:立即数寻址目的:基址寻址(位移量:ARRY,基址:(BX))EA=ARRY+(BX)(7)SUBDS:[

2、01FEH],DX源:寄存器寻址目的:直接寻址(使用数值位移量作为偏移量)EA=01FEH(8)ADC[BP][DI],BH源:寄存器寻址目的:基址变址寻址(基址:(BP),变址:(DI),位移量:0,0位移量在语法上省略,但在机器指令中是存在的)EA=(BP)+(DI)+0(9)ANDCX,-19[BX][SI]源:基址变址寻址注意位移量部分,这里给了一个负数,语法上是允许的,汇编时位移量确定为-19的补码,但是实行寻址时这个补码被解释为无符号数,应该是0EDH。这条指令中给出负数位移量语法上可以通过,但是不符合常规用法。EA的三个分

3、量在做加法时可以解释为补码(一般不这样解释),但是最终形成的EA一定是看作无符号数。EA=0FFEDH+(BX)+(SI);(注意,语法上使用负数做位移量,做加法时要使用它的16位补码,不是8位)目的:寄存器寻址(10)PUSHES源:寄存器寻址目的:目的操作数隐含使用(SP)指向的栈顶字单元(内存中),在机器指令中,其寻址由OPCODE决定,不由寻址方式字段决定,故不需要说明它的寻址方式。由OPCODE决定的寻址统称为隐含寻址。(11)CLC源:无源操作数目的:隐含使用FR的CF标志(寄存器中),由OPCODE决定,为隐含寻址。3.求

4、执行两条指令后,各标志位的状态MOVAL,91;执行后,(AL)=91=5BHADDAL,0BAH加法执行如下:(十六进制加法,如果不习惯,也可采用先前的二进制加法)0BAH+05BH115HCF:显然最高位产生了进位(两个加数都是两位的,和却有三位),CF=1AF:低四位向高四位产生了进位(A+B产生进位),AF=1ZF:运算结果不为0,ZF=0SF:运算结果最高位为0(高四位:1H=0001B),SF=0OF:正+正=正(两个加数与和的符号位都为0),没有溢出,OF=04.求程序段分别的运行结果(1)MOVCL,20H[BX][SI

5、]EA=20H+(BX)+(SI)=20H+0024H+0012H=0056H默认使用段寄存器DS,段基址:091D0H物理地址:段基址+EA=091D0H+0056H=09226H(09226H)=00F6H,这是以字为单位的内容描述,变成字节:(09226H)=0F6H,(09227H)=00H指令执行后,(CL)=(09226H)=0F6H(2)MOV[BP][DI],CXEA=0+(BP)+(DI)=0024H+0032H=0056H默认使用段寄存器SS,段基址:1E4A0H物理地址:段基址+EA=1E4A0H+0056H=1E

6、4F6H指令执行完后,(1E4F6H)=(CX)=5678H(3)共两条指令,按顺序逐条分析1)LEABX,20H[BX][SI]EA=20H+(BX)+(SI)=20H+0024H+0012H=0056H指令执行完后,(BX)=EA=0056H2)MOVAX,2[BX]注意,此时BX的内容已变,不要再参照初始值,应该始终参照上一条指令的结果EA=2H+(BX)=2H+0056H=0058H默认使用段寄存器DS,段基址为091D0H物理地址=段基址+EA=091D0H+0058H=09228H指令执行完后,(AX)=(09228H)=1

7、E40H(4)1)LDSSI,[BX][DI]EA=0+(BX)+(DI)=0024H+0032H=0056H默认使用段寄存器DS,段基址为091D0H物理地址为:段基址+EA=091D0H+0056H=09226H指令执行完后,(SI)=(09226H)=00F6H(DS)=(09228H)=1E40H2)MOV[SI],BX注意,此时SI、DS的内容已变,不要再参照初始值,应该始终参照上一条指令的结果EA=(SI)=00F6H默认使用段寄存器DS,段基址为1E400H物理地址为:1E400H+00F6H=1E4F6H指令执行完后,(

8、1E4F6H)=(BX)=0024H(5)1)XCHGCX,32H[BX]EA=32H+(BX)=32H+0024H=0056H默认使用段寄存器DS,段基址为091D0H物理地址=091D0H+0056H=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。