编辑: kieth 2016-04-09

第二章习题答案 3.

以下为用段地址:偏移量形式表示的内存地址,试计算它们的物理地址. ⑴ 12F8:0100 ⑵ 1A2F:0103 ⑶1A3F:0003 ⑷ 1A3F:A1FF 答案: ⑴ 13080H ⑵ 1A3F3H ⑶ 1A3F3H ⑷ 245EFH 4.自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示):03

06 11 A3

13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据的值. 答案: 在12FA:0002地址中, 字节型数据: 11H 字型数据: 0A311H 双字型数据: 0113A311H 9.从右边的说明中为左边的术语选择正确答案,并把答案填入括号中(用字母表示). ⑴ CPU ( ) A.保存当前栈顶地址的寄存器 ⑵ IP ( ) B.以后进先出方式工作的存储器空间 ⑶ SP ( ) C.把汇编语言源程序翻译成机器语言的系统程序 ⑷ 堆栈 ( ) D.存储程序、数据等信息的记忆装置 ⑸ 存储器 ( ) E.指示下一条要执行指令地址的偏移量 ⑹ 汇编语言 ( ) F.分析、控制并执行指令的部件,由算术逻辑部 件和寄存器组等组成 ⑺ 机器语言 ( ) G.能被计算机直接识别的语言 ⑻ 段寄存器 ( ) H.用指令的助记符、符号地址、标号等符号书写 程序的语言 ⑼ 连接程序 ( ) I.用汇编语言书写的程序 ⑽ 汇编程序 ( ) J.保存正在运行程序的当前段起始地址的寄存器 ⑾ 运算结果标志 ( ) K.把若干个模块连接起来成为可执行文件的系统 程序 ⑿ 汇编语言源程序 ( ) L.记录运算或操作结果的标志 答案: F E A B D H G J K C L I

第三章习题答案 2.分别指出下列指令中源操作数和目的操作数的寻址方式. ⑴ MOV BX,12 ⑵ MOV AL,128 ⑶ MOV [BX],DX ⑷ MOV DS,AX ⑸ MOV VAR,8 ⑹ MOV [1000H],DX ⑺ MOV 6[BX],CX ⑻ MOV AX,[BX][SI] ⑼ MOV TAB[BP][DI],AL 答案: 题号 目标操作数寻址方式 源操作数寻址方式 ⑴ 寄存器寻址方式 立即寻址方式 ⑵ 寄存器寻址方式 立即寻址方式 ⑶ 寄存器间接寻址方式 寄存器寻址方式 ⑷ 寄存器寻址方式 寄存器寻址方式 ⑸ 直接寻址方式 立即寻址方式 ⑹ 直接寻址方式 寄存器寻址方式 ⑺ 寄存器相对寻址方式 寄存器寻址方式 ⑻ 寄存器寻址方式 基址变址寻址方式 ⑼ 相对基址变址寻址方式 寄存器寻址方式 3.在8086系统中,设(DS)=1000H,(ES)=2000H,(SS)=1200H,(BX)=0300H,(SI)=0200H,(BP)=0100H,VAR的偏移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少? ⑴ MOV BX,12 ⑵ MOV AL,128 ⑶ MOV [BX],DX ⑷ MOV ES:[SI],AX ⑸ MOV VAR,8 ⑹ MOV [1000H],DX ⑺ MOV 6[BX],CX ⑻ MOV [BX][SI],AX ⑼ MOV 6[BP][SI],AL 答案: 题号 目标操作数寻址方式 物理地址 ⑴ 寄存器寻址方式 ――― ⑵ 寄存器寻址方式 ――― ⑶ 寄存器间接寻址方式 DS:[BX]=10300H ⑷ 寄存器间接寻址方式 ES:[SI]=20200H ⑸ 直接寻址方式 DS:VAR=10060H ⑹ 直接寻址方式 DS:1000H=11000H ⑺ 寄存器相对寻址方式 DS:[BX+6]=10306H ⑻ 基址变址寻址方式 DS:[BX+SI]=10500H ⑼ 相对基址变址寻址方式 SS:[BP+SI]=12306H 4.设(DS)=2000H,(SS)=3000H,(CS)=1200H,(BX)=0300H,(IP)=0100H,指令标号LAB的偏移量为0060H,(20300H)=50H,(20301H)=01H,(20306H)=0BH,(20306H)=05H,试确定以下JMP指令转向的物理地址是多少? ⑴ JMP BX ⑵ JMP 6[BX] 答案: ⑴ ∵ (IP)=(BX)=0300H ∴ 转向的物理地址为12300H ⑵ ∵ (IP)=(DS:[BX+6])=(20306H)=050BH ∴ 转向的物理地址为1250BH 5.设(CS)=2000H,CS:0100H单元有一条JMP SHORT LAB指令,若其中的位移量为: ⑴ 60H ⑵ 80H ⑶ 0E0H 试写出转向目标的物理地址是多少? 答案: 因为CS:0100H处存放两字节指令,所以当执行该指令时(IP)=0102H ⑴ 转向的物理地址为:(CS)*10H+(IP)+0060H=20162H ⑵ 转向的物理地址为:(CS)*10H+(IP)+0FF80H=20082H ⑶ 转向的物理地址为:(CS)*10H+(IP)+0FFE0H=200E2H 6.试述以下指令的区别: ⑴ MOV AX,3000H 与MOV AX,[3000H] ⑵ MOV AX,MEM 与MOV AX,OFFSET MEM ⑶ MOV AX,MEM 与LEA AX,MEM 答案: ⑴ MOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H. 而MOV AX,[3000H]指令源操作数的寻址方式为直接寻址方式,指令执行结果为: (DS:3000H)→AX. ⑵ MOV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为: (DS:MEM)→AX. 而MOV AX,OFFSET MEM指令的执行结果是把MEM的偏移量送AX. ⑶ MOV AX,MEM指令的执行结果是(DS:MEM)→AX.而LEA AX,MEM的执行结果是把MEM的偏移量送AX. 9.指出下列指令的错误: 题目 答案 ⑴ MOV [AX],BX 寄存器间接寻址方式不能用AX寄存器 ⑵ MOV AL,1280 源操作数超出目标范围 ⑶ MOV [BX],9 目标操作数类型未知 ⑷ MOV DS,1000H 立即数不能直接送段寄存器 ⑸ MOV VAR,[BX] 两个操作数不能同时为存储器操作数 ⑹ MOV M1,M2 两个操作数不能同时为存储器操作数 ⑺ MOV 6,CX 操作数不能是立即数 ⑻ MOV AX,[SI][DI] 源操作数寻址方式错 ⑼ MOV CS,AX 操作数不能是代码段寄存器 ⑽ MOV BX,OFFSET VAR[SI] OFFSET后只能跟变量或标号名 11.写出把首址为BUF的字型数组的第4个字送到AX寄存器的指令,要求使用以下几种寻址方式: ⑴ 直接寻址方式 ⑵ 使用BX的寄存器间接寻址方式 ⑶ 使用BX的寄存器相对寻址方式 答案: ⑴ MOV AX,BUF+3*2 ⑵ LEA BX,BUF+3*2 MOV AX,[BX] ⑶ MOV BX,3*2 MOV AX,BUF[BX] 13.设(AX)= 0C5FFH,(BX)= 9E00H,试实现以下要求: ⑴ ADD AX,BX 指令执行后,根据结果设置标志位ZF、SF、CF、OF、AF、PF,并讨论结果的正确性. 答案: 执行ADD AX,BX 指令后,(AX)=0110001111111111B,并且最高位向前有进位.因此, 设置标志位如下: ZF SF CF OF AF PF

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题