《汇编语言课后习题答案郑晓薇》由会员分享,可在线阅读,更多相关《汇编语言课后习题答案郑晓薇(47页珍藏版)》请在金锄头文库上搜索。
1、习题一1分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数11010011, 01110111, 10000011, 00101111 ,10101010查看正确答案无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH2十六进制运算1A52H+4438H ,3967H2D
2、81H, 37H12H ,1250H4H查看正确答案5E8AH,0BE6H,3DEH,4940H3将十进制数变为 8 位补码,做运算(结果用二进制、十六进制、十进制表示)29+53, 7324, -66+82 ,-10215查看正确答案00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1174用压缩 BCD 码计算(结果用二进制、BCD 码、十进制表示)29+53, 7324, 66
3、+18 ,132+75查看正确答案00101001+01010011=01111100+00000110=10000010=82H=820111001100100100=0100111100000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2075符号位扩展(字节扩展为字,字扩展为双字)20A3H, 94H ,3456H ,7FH ,EC00H查看正确
4、答案000020A3H,FF94H,00003456H,007FH,FFFFEC00H6若机器字长为 16 位,其无符号数表示范围是多少?带符号数表示范围是多少?分别用十进制和十六进制表示。查看正确答案无符号数:065535,0000HFFFFH;带符号数:-32768+32767,8000H7FFFH7写出下列十六进制数所能代表的数值或编码:(1)38H (2)FFH (3)5AH (4)0DH查看正确答案(1) 38H 等于十进制数 56,是十进制数 56 的补码,数字 8 的 ASCII 码,十进制数 38 的压缩 BCD 码(2) FFH 等于十进制数-1,是带符号数-1 的补码,无符
5、号数为 255(3) 5AH 等于十进制数 90,是十进制数 90 的补码,大写字母 Z 的 ASCII 码(4) 0DH 等于十进制数 13,是十进制数 13 的补码,回车符的 ASCII 码8将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩 BCD 码和 ASCII 码:(1)108 (2)46 (3)-15 (4)254查看正确答案(1) 108=01101100B=6CH,补码 01101100B,压缩 BCD 码 0000000100001000,ASCII 码 313038H(2) 46=00101110B=2EH,补码 00101110B,压缩 BCD 码 010001
6、10,ASCII 码 3436H(3) 15=11110001B=F1H,补码 11110001B,ASCII 码 2D3135H(4) 254=0000000011111110B=00FEH,补码 0000000011111110B,压缩 BCD 码 0000001001010100,ASCII 码 323534H9写出下列算式的二进制运算结果,标志位 CF、SF、ZF、OF 分别是什么值?(1)56+63 (2)83-45 (3)-74+29 (4)-9237查看正确答案(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,C
7、F=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -9237=01111111B,CF=1,SF=0,ZF=0,OF=110查表,指出 ASCII 码 0DH、0AH、07H、1BH、20H、40H、50H、70H 对应的控制字符。查看正确答案回车、换行、响铃、ESC 键、空格键、P、p习题二1写出冯诺依曼计算机的基本特点。2如何解决内存速度与 CPU 速度不匹配问题。3写出计算机总线的分类与作用。4简述 8086CPU 寄存器的分组及各自的作用。5标志寄存器中都有哪些标志位与计算结果有关?6简述逻辑地址与物理地址的概念
8、,两者的关系。7存储器为什么要分段?如何分段。88086 系统把存储器分为哪四种类型的段?各自的特点是什么。98086CPU 的地址线为 20 根,寻址空间为 1MB。最少可划分为多少个逻辑段?最多呢?查看正确答案最少划分为 16 个逻辑段,最多划分为 65536 个逻辑段(每段 16 个字节)10在四种类型的段中通常使用哪些寄存器表示逻辑地址?查看正确答案CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP11字节单元和字单元如何区分?若给出一个地址,如何知道要访问的是字节单元还是字单元?查看正确答案字节单元保存 8 位数,字单元保存 16 位数。根据源操作数的属性确
9、定要访问的是字节单元还是字单元。12偶地址单元和奇地址单元在保存数据上有区别吗?查看正确答案对于字节单元来说, 偶地址和奇地址一样; 对于字单元而言, 最好用偶地址保存, 可减少 CPU 的访存次数。13有一个 32K 字节的存储区,首地址是 3302:5AC8H,写出其首单元和末单元的物理地址。查看正确答案首单元的物理地址=38AE8H,末单元的物理地址=38AE8H+7FFFH=40AE7H14什么是有效地址?如何获得有效地址。15存储单元地址和内容表示如下,请画出存储单元存放形式。(1) (1280A)=3456H (2) (20021H)=4DH (3) (33450H)=37A520
10、D1H16根据逻辑地址计算出物理地址,并解释逻辑地址与物理地址的对应关系。(1) 2389:3DE9H (2) 1230:EC92H (3) 14D9:C202H查看正确答案(1)物理地址=27679H (2) 物理地址=20F92H (3) 物理地址=20F92H(2)和(3)的物理地址是一样的。说明逻辑地址不唯一,多个逻辑地址可对应到同一个物理单元上。17给出段地址和偏移地址如下,计算出对应的物理地址。(CS)=54C3H,(ES)=2569H,(DS)=1200H,(SS)=4422H,(BX)=5678H,(SP)=9945H,(IP)=0E54H,(DI)=63B1H查看正确答案代码
11、段 CS:IP 的物理地址=55A84H 堆栈段 SS:SP 的物理地址=4DB65H数据段 DS:BX 的物理地址=17678H 附加段 ES:DI 的物理地址=2BA41H18已知堆栈区大小为 512 字节,栈底单元的物理地址为 15230H。将两个字入栈保存后,当前栈指针所指单元的物理地址是多少? 堆栈区中还能保存多少个数据?查看正确答案当前栈指针所指单元的物理地址是 1522CH。堆栈区中还能保存 254 个字。19写出修改当前数据段 200H 开始的数据区数据的 DEBUG 命令。查看正确答案执行 E 20020对当前代码段从 100H 开始反汇编的 DEBUG 命令是什么?查看正确
12、答案执行 U 10021在 DEBUG 下,要将寄存器 CX 的值修改为 100H,应该执行什么命令?查看正确答案执行 R CX,然后输入 10022在 DEBUG 下,怎样将数据段的 0 号4 号字节单元填入a、b、c、d?查看正确答案执行 E DS:0 a b c d习题三1名词解释:零地址指令,一地址指令,二地址指令。2分别写出与数据有关的 7 种寻址方式并举例说明。3已知(BX)=1290H,(SI)=348AH,(DI)=2976H,(BP)=6756H,(DS)=2E92H,(ES)=4D82H,(SS)=2030H,请指出下列指令的寻址方式,并求出有效地址 EA 和物理地址:MO
13、V AX,BXMOV AX,1290HMOV AX,BXMOV AX,DS:1290HMOV AX,BPMOV DIBX,AXMOV ES:SI,AX查看正确答案MOV AX,BX 源操作数为寄存器寻址,EA 无,物理地址 无MOV AX,1290H 立即寻址,EA 无,物理地址 无MOV AX,BX 寄存器间接寻址,EA=1290H, 物理地址=2FBB0HMOV AX,DS:1290H 直接寻址,EA=1290H, 物理地址=2FBB0HMOV AX,BP 寄存器间接寻址,EA=6756H, 物理地址=26A56HMOV DIBX,AX 目的操作数为基址变址寻址,EA=3C06H, 物理地
14、址=32526HMOV ES:SI,AX 寄存器间接寻址,EA=348AH, 物理地址=50CAAH4寄存器间接寻址方式可以使用哪些寄存器作为间址寄存器?5立即寻址方式和寄存器寻址方式的操作数有物理地址吗?6什么是段超越?段超越前缀代表什么?7请指出下列指令的错误:MOV AX,CXMOV AL,1200HMOV AL,BXMOV SIDI,AXMOV ES:DX,CXMOV AX,VALUEMOV COUNT,SI查看正确答案MOV AX,CX 错。CX 不能为间址寄存器MOV AL,1200H 错。立即数超出 8 位寄存器范围MOV AL,BX 错。两个操作数不匹配MOV SIDI,AX
15、错。两个变址寄存器不能在一起MOV ES:DX,CX 错。DX 不能为间址寄存器MOV AX,VALUE 错。AX 不能为间址寄存器MOV COUNT,SI 错。两个操作数不能都是存储单元8根据题目要求,写出相应的汇编指令:(1) 把 BX 寄存器的值传送给 AX(2) 将立即数 15 送入 CL 寄存器(3) 用 BX 寄存器间接寻址方式将存储单元中的字与 AX 寄存器的值相加,结果在 AX 中(4) 把 AL 中的字节写入用基址变址寻址的存储单元中(5) 用 SI 寄存器和位移量 VALUE 的寄存器相对寻址方式,从存储单元中读出一个字送入寄存器 AX(6) 将 AX 中的数与偏移地址为
16、2000H 存储单元的数相减,结果在 AX 中查看正确答案(1) MOV AX,BX (2) MOV CL,15 (3) ADD AX,BX(4) MOV BX+SI,AL (5) MOV AX,VALUESI (6) SUB AX,DS:2000H9写出用下列寻址方式将存储单元 X 中的第 3 个字取出,AX 与其相加再放入 Y 单元的指令序列。(1)直接寻址 (2)寄存器相对寻址 (3)基址变址查看正确答案(1) ADD AX,X+4MOV Y,AX(2) MOV BX,4ADD AX,XBXMOV Y,AX(3) MOV BX,4MOV SI,OFFSET XADD AX,BX+SIMOV Y,AX10在数据寻址方式中,哪种寻址方式的操作数与指令一起存放在代码段?查看正确答案立即寻址方式中操作数(立即数)和指令一起存放在代码段中。习题四1汇编语言程序有什么特点?什么是源程序?2简要说明从源