欢迎来到天天文库
浏览记录
ID:18326546
大小:436.50 KB
页数:36页
时间:2018-09-16
《汇编语言程序设计(合工大版)习题参考》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、部分习题参考答案1.5下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?(1)85+69(2)85+(-69)(3)85-(-69)(4)85-(69)85=55H,69=45H,-69=BBH,8位二进制补码运算:(1)85+69=55H+45H=9AH,CF=0,OF=1(2)85+(-69)=55H+BBH=110H,CF=1,OF=0其余略1.
2、6实模式下,写出段地址和偏移地址为1234:2002、1430:0042、FF00:0FFF的物理地址。1234:2002=12340+2002=143421430:0042=14300+0042=14342FF00:0FFF=FF000+0FFF=FFFFF1.7已知8086系统某存储单元物理地址为:52506H,你认为段基址的最大值、最小值分别是多少?8086微机最多可以有多少个不同的段基址?52506=5250:0006,段基址的最大值=525052506=4251:FFF6,段基址的最小值=42511.
3、8从物理地址为00100H开始到00103H单元中顺序存放的数据为:12H,34H,56H,78H。请画出数据存放示意图,并回答以下问题:(1)写出00101H字节单元的内容(00101)=34H(2)写出00102H字单元的内容(00102)=7856H习题33.1分别说明8086处理器中各寄存器的名称和作用是什么?3.2溢出标志OF与进位标志CF有何作用和区别?3.3何为段地址?何为有效地址?何为物理地址?用指令举例说明。3.4带符号数比较大小,当AX4、续指令应为什么?若视为二个无符号数比较大小,后续指令应为什么?带符号数:JLL1,无符号数:JBL13.5ADD指令和ADC指令在什么情况下是一样的结果?CF=03.6说出CALL指令和INT21H指令的操作,有何异同?CALL把断点压入堆栈,不一定是远调,INT21H还要把FLAGS压入堆栈,且是远调,总入口地址为84H内存中的两个字。3.7除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法?RET指令,INT20H3.8指出下列错误的指令,说出错误原因,并给出合适的修改。(1)MOVAX,[DX]5、/MOVAX,[BX](2)MOVDS,DATA/MOVDS,BX(3)MOVCS,AX/MOVES,AX(4)MOVAX,DL/MOVAL,DL(5)PUSHAL/PUSHAX(6)ADD[BX],[DI]/ADD[BX],DI(7)LEA[BX],[2000H]/LEABX,[2000H](8)MOV[BX],OFFSET[2000H](9)MOV[SI],2/MOVBYTEPTR[SI],2(10)MULBX,CX/MULBX(11)DIV5/DIVBX(12)MOVBYTE[SI],2/MOVBYTEP6、TR[SI],2(13)MOVAX,[SI+DI]/MOVAX,[BX+SI](14)SHRAX,4/SHRAX,1(15)CMP6,AX/CMPAX,6(16)MOV[FFFF],AX/MOV[FFFE],AX(17)MOVAX,BX+4/MOVAX,[BX+4](18)JMPFARPRO/JMPFARPTRPRO3.9假定(DS)=1200H,(SS)=4400H,(BX)=463DH,(BP)=2006H,(SI)=6A00H,位移量D=4524H,以AX寄存器为目的操作数,试写出以下各种寻址方式下的传送7、指令,并确定源操作数的有效地址EA和物理地址。(1)立即寻址;操作数的EA就是指令的EA/操作数在指令中/无EA(2)直接寻址;EA=4524H,物理地址=DS:4524(3)使用BX的寄存器寻址;无EA(4)使用BX的间接寻址;EA=463DH,物理地址=DS:463D(5)使用BP的寄存器相对寻址;MOVAX,[BP+4524],EA=2006+4524,物理地址=SS:EA(6)基址变址寻址;MOVAX,[BX+SI],EA=BX+SI,物理地址=DS:EA(7)相对基址变址寻址;MOVAX,[4524+8、BX+SI],EA=4524+BX+SI,物理地址=DS:EA3.10用一条指令完成以下操作。(1)把BX寄存器和DX寄存器的内容相加,结果存人DX寄存器中。ADDDX,BX(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。ADDAL,[BX+SI](3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和A
4、续指令应为什么?若视为二个无符号数比较大小,后续指令应为什么?带符号数:JLL1,无符号数:JBL13.5ADD指令和ADC指令在什么情况下是一样的结果?CF=03.6说出CALL指令和INT21H指令的操作,有何异同?CALL把断点压入堆栈,不一定是远调,INT21H还要把FLAGS压入堆栈,且是远调,总入口地址为84H内存中的两个字。3.7除了用4CH号系统功能调用结束程序的执行并退出,还有哪些办法?RET指令,INT20H3.8指出下列错误的指令,说出错误原因,并给出合适的修改。(1)MOVAX,[DX]
5、/MOVAX,[BX](2)MOVDS,DATA/MOVDS,BX(3)MOVCS,AX/MOVES,AX(4)MOVAX,DL/MOVAL,DL(5)PUSHAL/PUSHAX(6)ADD[BX],[DI]/ADD[BX],DI(7)LEA[BX],[2000H]/LEABX,[2000H](8)MOV[BX],OFFSET[2000H](9)MOV[SI],2/MOVBYTEPTR[SI],2(10)MULBX,CX/MULBX(11)DIV5/DIVBX(12)MOVBYTE[SI],2/MOVBYTEP
6、TR[SI],2(13)MOVAX,[SI+DI]/MOVAX,[BX+SI](14)SHRAX,4/SHRAX,1(15)CMP6,AX/CMPAX,6(16)MOV[FFFF],AX/MOV[FFFE],AX(17)MOVAX,BX+4/MOVAX,[BX+4](18)JMPFARPRO/JMPFARPTRPRO3.9假定(DS)=1200H,(SS)=4400H,(BX)=463DH,(BP)=2006H,(SI)=6A00H,位移量D=4524H,以AX寄存器为目的操作数,试写出以下各种寻址方式下的传送
7、指令,并确定源操作数的有效地址EA和物理地址。(1)立即寻址;操作数的EA就是指令的EA/操作数在指令中/无EA(2)直接寻址;EA=4524H,物理地址=DS:4524(3)使用BX的寄存器寻址;无EA(4)使用BX的间接寻址;EA=463DH,物理地址=DS:463D(5)使用BP的寄存器相对寻址;MOVAX,[BP+4524],EA=2006+4524,物理地址=SS:EA(6)基址变址寻址;MOVAX,[BX+SI],EA=BX+SI,物理地址=DS:EA(7)相对基址变址寻址;MOVAX,[4524+
8、BX+SI],EA=4524+BX+SI,物理地址=DS:EA3.10用一条指令完成以下操作。(1)把BX寄存器和DX寄存器的内容相加,结果存人DX寄存器中。ADDDX,BX(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。ADDAL,[BX+SI](3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和A
此文档下载收益归作者所有