资源描述:
《微机原理与接口技术作业答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第二章微处理器及其结构2-7什么是逻辑地址?什么是物理地址?在实地址方式下,如何求存储器的物理地址?设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1).实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2).物理地址=段基址*16+偏移地址3).首字单元地址:70A0H*16+DDF6H=70A00H+DDF6H=7E7F6H末字单元地址:7E7F6H+(16-1)*2=7E7F6H+1EH=7E814H注意:相邻两个存储单元可构成一个字长为16位的字,在对准
2、字时,用偶地址表示字的地址.第三章指令系统3-6分别指出下列指令中源操作数和目标操作数的寻址方式.若是存储器寻址,用表达式表示EA=?(1)ANDAX,00FFH(2)ADDBX,[00FFH](3)MOVAX,[BX+10H](4)ADDAX,[ESI*8](5)SUB[BP][SI],AX(6)MOVAX,[BX+DI+20H](7)CMP[SI],AX(8)ORAX,DX(9)MOVEAX,[ESI][EDI*2](10)PUSHDS解:(1)立即数寻址(2)直接寻址EA=00FFH(3)基址寻址EA=(BX)+10(4)比例间址EA=ESI*8(5)基址加
3、间址寻址EA=(BP)+(SI)(6)带位移的基址加间址寻址EA=(BX)+(DI)+20H(7)间址寻址EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址EA=(ESI)+(EDI)*2(10)寄存器寻址注意:◆16位寻址:BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器.SI和DI作为间址寄存器.默认DS为段寄存器◆32位寻址:8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器.除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄
4、存器3-732位微机工作在实地址模式下,已知(DS)=1000和(SS)=2000H,(SI)=007FH,(BX)=0040H,(BP)=0016H,变量TABLE的偏移地址为0100H.指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOVAX,[1234H](2)MOVAX,TABLE(3)MOVAX,[BX+100H](4)MOVAX,TABLE[BP][SI]解:(1)直接寻址EA=1234HPA=(DS)*16+EA=11234H(2)直接寻址EA=(TABLE)=0100HPA=(DS)*16+EA=10100H(3
5、)基址寻址EA=(BX)+100H=0140HPA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195HPA=(SS)*16+EA=20195H注意:当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器.这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8指出下列指令的错误,并加以改正.(1)MOVDS,100(2)MOV1020H,DX(3)SUB[1000H],[SI](4)PUSHAL(5)INAL,[80H](6)MOVDS,ES(7)JMPBX
6、(8)SHRDX,4(9)OUT380H,AX(10)ADDAL,BX(11)POPCS(12)MOVCL,3300H解:(1)立即数不能直接传送到段寄存器中去应改为:MOVAX,100MOVDS,AX(2)立即数只能出现在源操作数位置应改为:MOVDX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址应改为:MOVAX,[1000H]SUBAX,[SI](4)PUSH指令不能操作8位数据应改为:PUSHAX(5)[80H]不是端口INAL,80H应改为:INAL,80H(6)两个段寄存器之间不能直接传送应改为:MOVAX,ESMOVDS,AX(7)对(8
7、)移位次数超过1的时候,要把移位次数放入CL中应改为:MOVCL,4SHRDX,CL(9)端口地址大于255时,要把地址放入DX中应改为:MOVDX,380HOUTDX,AX(10)源操作数和目标操作数不匹配应改为:ADDAX,BX(11)POP指令只能使用在存储器或通用寄存器可改为:POPAX(12)源操作数和目标操作数不匹配应改为:MOVCX,3300H3-9已知:(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,[09226H]=00
8、F6H,[