资源描述:
《微机原理习题答案34》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、3・1机器指令分为哪几部分?每部分的作用是什么?【解】:每条机器指令由两部分组成:操作码字段和地址码字段。操作码字段:用来说明该指令所要完成的操作。地址码字段:用来描述该指令的操作对象。一般是直接给出操作数,或者给出操作数存放的寄存器编号,或者给出操作数存放的存储单元的地址或有关地址的信息。3.2指出下列MOV指令的源操作数的寻址方式。MOVAX,BXMOVAX,[BX]MOVAX,TABLE;TABLE是一个变量名寄存器寻址寄存器间接寻址直接寻址方式直接寻址方式寄存器相对寻址基址变址寻址MOVAX,[1234H]MOVAX,[BX
2、+1234H]MOVAX,[BP][SI]MOVAX,1234HMOVAX,BXMOVAX,IBXJMOVAX,TABLE;TABLE;TABLE是一个变量名MOVAX,[1234H]MOVAX,[BX+1234H]MOVAX,[BP][SI]MOVAX,[BX+SI—1234H]【解】:MOVAX,1234H立即寻址MOVAX,[BX+SI-1234H]相对基址变址寻址3.3设:(DS)=2000H,(BX)=0100H,(SS)=1000H,(BP)=0010H,TABLE的物理地址为2000AH,(SI)=0002Ho求下列每
3、条指令源操作数的存储单元地址:MOVAX,[1234H]MOVAX,IBXJMOVAX,TABLE[BX]MOVAX,[BP]【解】:源操作数存储单元地址:(DS)X10H+EA=2000HX10H+1234H=21234H源操作数存储单元地址:(DS)X10H+(BX)=2000HX10H+0100H=20100H源操作数存储单元地址:(DS)X10H+EA二2000HX10H+0100H+000AH=2010AH源操作数存储单元地址:(SS)X10H+EA二1000HX10H+0010H=10()l()H源操作数存储单元地址:(
4、SS)X10H+EA二1000HX10H+0010H+0002H=10012H3・4设ARRAY是字数组的首地址,写出将第5个字元素取出送AX寄存器的指令,要求使用以下几种寻址方式:基址变址寻址⑷基址变址寻址LEABX,ARRAYMOVSI,8MOVAX,[BX+SI]⑶寄存器相对寻址⑷(3)寄存器相对寻址MOVBX,8MOVAX,ARRAY[BX](1)直接寻址(2)寄存器间接寻址【解】:(1)直接寻址(2)寄存器间接寻址MOVAX,ARRAY+8MOVBX,ARRAY+8MOVAX,[BX]3.5设当前(CS)=2000H,(I
5、P)=2000H,标号NEXT定义在当前代码段偏移地址为0100H处,(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=30H,数据段定义的字变量ARRAY的内容为1000H,试写出下列转移指令的目标转移地址。(1)JMPNEARPTR⑵JMPBX⑶JMPWORDPTR【解】:(1)JMPNEAR(2)JMPBX(3)JMPWORDPTRARRAYARRAYPTR此转移指令的目标转移地址为:此转移指令的目标转移地址为:此转移指令的冃标转移地址为:20100H21000H23000H3.6设当前(
6、CS)=2000H,(IP)=2000H,标号NEXT定义在3000H:1000H处。当前(DS)=1000H,(BX)=1000H,(11000H)=00H,(11001H)=03H,(11002H)=00H,(11003H)=30H,数据段定义的字变量ARRAY的内容为0300H,(ARRAY+2)=3000H,试写出下列转移指令的目标转移地址。(1)JMPFARPTRNEXT(2)JMPDWORDARRAY【解】:(1)JMPFARPTRNEXT此转移指令的目标转移地址为:31000H(2)JMPDWORDARRAY此转移指令
7、的目标转移地址为:30300H3・7下列每组指令有何区别?⑴MOVAX,1234H(2)MOVAX,TABLEMOVAX,[1234H]MOVAX,[TABLE]⑶MOVAX,TABLE(4)MOVAX,BXLEAAX,TALBEMOVAX,[BX]【解】:⑴笫一条指令屮,1234H就是源操作数,直接送入AX屮,第二条指令屮,1234H是源操作数的地址,该指令是把1234H所指示的地址单元的值送入AX中。(2)两条指令都是直接寻址方式,都是把TABLE指示的地址单元的值送入AX中。⑶第一条指令中,TABLE为一地址单元的地址,该条指
8、令是把TABLE所指示的地址单元的值送入AX中,第二条指令是把源操作数的偏移地址送入AX中。(4)第一条指令为寄存器寻址方式,BX中的值为源操作数,该条指令是把BX中的值送入AX中,第二条指令是寄存器间接寻址方式,BX中的值为源操作数