汇编语言习题答案

上传人:大米 文档编号:501880925 上传时间:2023-07-04 格式:DOCX 页数:54 大小:469.29KB
返回 下载 相关 举报
汇编语言习题答案_第1页
第1页 / 共54页
汇编语言习题答案_第2页
第2页 / 共54页
汇编语言习题答案_第3页
第3页 / 共54页
汇编语言习题答案_第4页
第4页 / 共54页
汇编语言习题答案_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《汇编语言习题答案》由会员分享,可在线阅读,更多相关《汇编语言习题答案(54页珍藏版)》请在金锄头文库上搜索。

1、第一章.习题1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369(2)10000(3)4095(4)32767答:(1)369=101110001B=171H(2) 10000=10011100010000B=2710H(3) 4095=111111111111B=FFFH(4) 32767=111111111111111B=7FFFH1.2 将下列二进制数转换为十六进制数和十进制数:(1) 101101(2)10000000(3)1111111111111111(4)11111111答:(1)101101B=2DH=45(2) 10000000B=80H=128(3

2、) 1111111111111111B=FFFFH=65535(4) 11111111B=FFH=2551.3 将下列十六进制数转换为二进制数和十进制数:(1) FA(2)5B(3)FFFE(4)1234答:(1)FAH=11111010B=250(2) 5BH=1011011B=91(3) FFFEH=1111111111111110B=65534(4) 1234H=1001000110100B=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核:3A+B7(2)1234+AF(3)ABCD-FE(4)7AB6F答:(1)3A+B7H=F1H=241(2) 1234+AFH=

3、12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7ABX6FH=35325H=1.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。(1) (-85)+76(2)85+(-76)(3)85-76(4)85-(-76)(5)(-85)-76(6)-85-(-76)答:(1)(-85)+76=10101011B+01001100B=11110111B=0F7H;CF=0;OF=0(2) 85+(-76)=01010101B+10110100B=00001001B=09H;CF=1;OF=0(3) 85-76=01010101B-01

4、001100B=01010101B+10110100B=00001001B=09H;CF=0;OF=0(4) 85-(-76)=01010101B-10110100B=01010101B+01001100B=B=0A1H;CF=0;OF=1(5) (-85)-76=10101011B-01001100B=10101011B+10110100B=01011111B=5FH;CF=0;OF=1(6) -85-(-76)=10101011B-10110100B=10101011B+01001100B=B=0F7H;CF=0;OF=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作

5、是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8(2)FF1.7答:(1) D8H表示的带符号数为(2) FFH表示的带符号数为 下列各数均为用十六进制表示的-40, D8H表示的无符号数为 216;-1, FFH表示的无符号数为 255。8位二进制数,请说明当它们分别被看作是用补码表示的数或字符的4F 答:(2)(4)4FH2BH(2) 2B表示的十进制数为表示的十进制数为73H表示的十进制数为59H表示的十进制数为79,43,115,734FH表示的字符为2BH表示的字符为73H表示的字符为89, 59H表本的字符为(4)59O;s;Y。1.8请写出下列字符串的

6、 ASCII码值。For example,This is a number 3692.答:46H6FH72H20H65H78H61H6DH70H6CH65H2CH0AH0DH54H62H68H65H69H72H73H20H20H33H69H36H73H39H20H32H61H2EH20H0AH6EH0DH75H6DH第二章.习题2.12.22.3在80x86微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的, 但有时也可以在指令中直接指定 00FFH的端口号。试问可直接由指令指 定的I/O端口数。答:可直接由指令指定的I/O端口数为256个。有两个16位字1EE5H和2A3CH分别存

7、放在 80x86微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。答:存储器里的存放情况如右上图所示。在旧M PC机的存储器中存放信息如右下图所示。试读出 30022H和 30024H字节单元的内容,以及 30021H和30022H字单元的内容。000B0H1E5H000B1H 11EH000B2H1000B3H13CH000B4H12AH存储器2.2题的信息存放情况答:30022H字节单元的内容为 ABH ; 30024H字节单元的内容为 EFH。30021H字单元的内容为 AB34H ; 30022H字单元的内容为 CDABH 。2.4 在实模式下,段地

8、址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?答:3017:000A、3015:002A 和3010:007A 的存储单元的物理地址都是 3017AH。2.5 如果在一个程序开始执行以前(CS)=0A7F0H,(如16进制数的最高位为字母,则应在其前加一个 0) (IP)=2B40H,试问该程序的第一个字的物理 地址是多少? 答:该程序的第一个字的物理地址是0AAA40H 。2.6 在实模式下,存储器中每一段最多可有10000H个字节。如果用调试程序DEBUG的r命令在终端上显示出当前各寄存器的内容如下,请 画出此时

9、存储器分段的示意图,以及条件标志 OF、SF、ZF、CF的值。Cdebug -r2.3题的信息存放情况10E40 10F4020E40 20F4021F0031F0031FF041FF02.7 题的存储器分段示意图ASCII码时,它们所表示的十进制数及字符是什么?数据寄存器等CXAX 、 DX ,乘数和除数用其他寄存器或存储器段寄存器ZF=1CS:IPSS:SP(1)CPU(M)(2)存储器(C)(3)堆栈 两种。(D)(4)IP(B)(5)SP(A)(6)状态标志(L)(7)控制标志(K)(8)段寄存器(J)(9)物理地址(F)(10)汇编语言CS、 DS、(H)(11)机器语言(G)(12

10、)汇编程序PF、 CF。(E)(13)连接程序 寄存器等(I)(14)指令(O)(15)伪指令 程序运行时(N)AX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC答:此时存储器分段的示意图如右图所示。OF、SF、ZF、CF的值都为0。2.7 下列操作可使用那些寄存器?(1) 加法和减法(2) 循环计数(3) 乘法和除法(4) 保存段地址(5) 表示运算结果为0(6) 将要执行的指令地址(7) 将要从堆栈取出数据的地址答:答案见题目的

11、右边。2.8 那些寄存器可以用来指示存储器地址?答:BX、BP、SkDI、堆栈操作时的SP、对应的段地址、386及其后继机型的Exx。2.9 请将下列左边的项和右边的解释联系起来(把所选字母放在括号中):A. 保存当前栈顶地址的寄存器。B. 指示下一条要执行的指令的地址。C.存储程序、数据等信息的记忆装置,微机有RAM和ROMD.以后进先出方式工作的存储空间。E.把汇编语言程序翻译成机器语言程序的系统程序。F.唯一代表存储空间中每个字节单元的地址。G.能被计算机直接识别的语言。H.用指令的助记符、符号地址、标号等符号书写程序的语言。1 .把若干个模块连接起来成为可执行文件的系统程序。J.保存各

12、逻辑段的起始地址的寄存器,8086/8088机有四个:SS、ES。K.控制操作的标志,如DF位。L.记录指令操作结果的标志,共6位:OF、SF、ZF、AF、M. 分析、控制并执行指令的部件,由算术逻辑部件ALU和组成。N. 由汇编程序在汇编过程中执行的指令。O. 告诉CPU要执行的操作(一般还要指出操作数地址),在执行。答:答案见题目的括号中。第三章.习题3.1给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的寄存器寻址(4) 使用BX的简接寻址(5) 使用BX的寄存器相对寻址(6

13、) 基址变址寻址(7) 相对基址变址寻址答:(1)操作数在指令中,即立即数;(2) EA=D=7237H;(3)无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。3.2试根据以下要求写出相应的汇编语言指令(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中

14、。(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。(5) 把数0B5H与(AL)相加,并把结果送回AL中。答:(1)ADDDX,BX(2) ADDAL,BXSI(3) ADDBX+0B2H,CX(4) ADDWORDPTR0524H,2A59H(5) ADDAL,0B5H3.3写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1)MOVBX,OFFSETBLOCKADDBX,(6-1)*2MOVDX,BX(2) MOVBX,OFFSETBLOCK改为:MOVBX,(6-1)*2MOVDX,BX+(6-1)*2也可MOVDX,BLOCKBX(3) MOVBX,OFFSETBLOCKMOVSI,(6-1)*2MOVDX,BXSI3.4现有(DS)=2000H,(BX)=0100H,(SI)=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号