本科汇编语言习题答案

上传人:飞****9 文档编号:456409617 上传时间:2024-04-17 格式:PDF 页数:98 大小:13.56MB
返回 下载 相关 举报
本科汇编语言习题答案_第1页
第1页 / 共98页
本科汇编语言习题答案_第2页
第2页 / 共98页
本科汇编语言习题答案_第3页
第3页 / 共98页
本科汇编语言习题答案_第4页
第4页 / 共98页
本科汇编语言习题答案_第5页
第5页 / 共98页
点击查看更多>>
资源描述

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

1、IBMPC汇编语言程序设计习题参考答案第 一 章.习 题i.i 用降毒法和除法将下列十进制数转换为二进制数和十六进制数:(1)369(2)10000(3)4 095(4)32767答:369=1 0111 0001B=171H(2)10000=100111 0001 0000B=271 O H(3)4 095=1111 1111 1111B=F F F H(4)32767=111 1111 1111 1111B=7F F F H1.2 将下列二进制数转换为十六进制数和十进制数:(1)10 1101(2)1000 0000(3)1111 1111 1111 1111(4)1111 1111答:(

2、1)10 1101B=2D H=4 5(2)1000 0000B=80H=128(3)1111 1111 1111 1111B=F F F F H=65535(4)1111 1111B=F F H=2551.3 将下列十六进制数转换为二进制数和十进制数:(1)F A (2)5B (3)F F F E (4)1234答:(1)F A H=1111 1010B=250(2)5B H=101 1011B=91(3)F F F E H=1111 1111 1111 1110B=65534(4)1234 H=1 0010 0011 0100B=4 6601.4 完成下列十六进制数的运算,并转换为十进制数

3、进行校核:(1)3A+B 7(2)1234+A F (3)A B C D-F E (4)7A B x 6F答:(1)3A+B 7H=F 1H=24 1(2)1234+A F H=12E 3H=4 835(3)A B C D-F E H=A A C F H=4 3727(4)7A B x 6F H=35325H=2178931.5 下列各数均为十进制数,请用8 位二进制补码计算下列各题,并用十六进制数表示其运算结果。(1)(-85)+76(2)85+(-76)(3)85-76(4)85-(-76)(5)(-85)-76(6)-85-(-76)答:(1)(-85)+76=1010 1011B+O

4、1O O 11O O B=U 11 O B 1B=O F 7H;C F=O:O F=0(2)85+(-76)=0101 0101B+1011 010()B=0000 1001B=09H;C F=1;O F=0(3)85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;C F=O;O F=0(4)85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A l H;C F=O;O F=1(5)(-85)-76=1010 1011B-0100 1100B

5、=1010 1011B+1011 0100B=0101 1111B=5F H;C F=O;O F=1(6)-85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=l 1110111 B=0F 7H;C F=O;O F=01.6 下列各数为十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1)D 8 F F答:(1)D 8 H 表示的带符号数为-4 0,D 8 H 表示的无符号数为216;(2)F F H 表示的带符号数为-1,F F H 表示的无符号数为255。1.7下列各数

6、均为用十六进制表示的8 位二进制数,请说明当它们分别被看作是用补码表示的数或字符的A S C II码时,它们所表示的十进制数及字符是什么?(1)4 F (2)2B (3)73(4)59答:(1)4 F H 表示的十进制数为79,4 F H 表示的字符为O;(2)2 B H 表示的十进制数为4 3,2 B H 表示的字符为十;(3)7 3H表示的十进制数为115,7 3H表示的字符为s;(4)59H表示的十进制数为89,5 9 H 表示的字符为丫。1.8请写出下列字符串的A S C H 码值。F o r e x a m p l e,T h i s i s a n u m b e r 3692.答

7、:4 6H6F H72H20H65H78H61H6D H70H6C H65H2C H O A HO D H54 H68H69H73H20H69H73H20H61H20H6E H75H6D H62H 65H72H20H33H36H39H32H2E HO A HO D H第 二 章.习 题2.1 在80 x86微机的输入/输出指令中,I/O端口号通常是由D X寄存器提供的,但有时也可以在指令中直接指定00F F H的端口号。试问可直接由指令指定的I/O端口数。答:可直接由指令指定的I/O端口数为256个。2.2 有 两 个1 6位 字1EE5H和2 A 3 c H分别存放在80 x86微机的存储器

8、的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。答:存储器里的存放情况如右上图所示。2.3 在IBM P C机的存储器中存放信息如右下图所示。试 读 出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。答:30022H字节单元的内容为ABH;30024H字节单元的内容为EFH。30021H字单元的内容为AB34H;30022H字单元的内容为CDABH。2.4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?答:3017:000A、3015:0

9、02A和3010:007A的存储单元的物理地址都是3017AHo2.5 如果在个程序开始执行以前(C S)=0A 7F0H,(如1 6进制数的最高位为字母,则应在其前加一个0)(IP)=2B 40H,试问该程序的第一个字的物理地址是多少?答:该程序的第一个字的物理地址是0AAA40H。存储器000B0HE5H000B1H1EH000B2H000B3H3CH000B4H2AH2.2题的信息存放情况存储器30020H12H30021H34H30022HABH30023HCDH30024HEFH2.3题的信息存放情况2.6 在实模式下,存储器中每一段最多可有I0000H个字节。如果用调试程序D EB

10、U G的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、C F的值。Cdebug-rAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FFIP=0100 NV UP DI PL NZ NA PO NC答:此时存储器分段的示意图如右图所示。OF、SF、ZF、C F的值都为0。2.7 下列操作可使用那些寄存器?(1)加法和减法(2)循环计数(3)乘法和除法(4)保存段地址(5)表示运算结果为0(6)将要执行的指

11、令地址(7)将要从堆栈取出数据的地址答:答案见题目的右边。数据寄存器等CXAX、D X,乘数和除数用其他寄存器或存储器段寄存器ZF=ICS:IPSS:SP10E4010F4020E4020F4021 FOO3 1 FOO31FF041FF02.6题的存储器分段示意图2.8 那些寄存器可以用来指示存储器地址?答:BX、BP、SI、DI、堆栈操作时的SP、对应的段地址、386及其后继机型的Exx。2.9 请将下列左边的项和右边的解释联系起来(把所选字母放在括号中):17XJZXI/1234567z(xz(z(xCPU(M)A.保存当前栈顶地址的寄存器。存储器(C)B.指示下一条要执行的指令的地址。

12、堆栈(D)C.存储程序、数据等信息的记忆装置,微机有RA M和RO M两种。IP(B)D.以后进先出方式工作的存储空间。SP(A)E.把汇编语言程序翻译成机器语言程序的系统程序。状态标志(L)F.唯一代表存储空间中每个字节单元的地址。控制标志(K)G能被计算机直接识别的语言。(8)段寄存器(J)H.用指令的助记符、符号地址、标号等符号书写程序的语言。(9)物理地址(F)I.把若干个模块连接起来成为可执行文件的系统程序。(1 0)汇编语言(H)J.保存各逻辑段的起始地址的寄存器,8 0 8 6/8 0 8 8 机有四个:C S、D S、(H)机器语言(G)S S、E S oK.控制操作的标志,如

13、 D F位。(1 2)汇编程序(E)L.记录指令操作结果的标志,共 6 位:O F、S F、Z F、A F、P F、C F。(1 3)连接程序(I)M.分析、控制并执行指令的部件,由算术逻辑部件A L U 和寄存器等(1 4)指令(0)组成。N.由汇编程序在汇编过程中执行的指令。(1 5)伪指令(N)。告诉C P U 要执行的操作(一般还要指出操作数地址),在程序运行时答:答案见题目的括号中。执行。第 三 章.习 题3.1 给定(B X)=6 3 7 D H,(S I)=2 A 9 B H,位 移 量 D=7 2 3 7 H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接

14、寻址(3)使用BX的寄存器寻址(4)使用BX的简接寻址(5)使用BX的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址答:(1)操作数在指令中,即立即数;(2)E A=D=7 2 3 7 H;(3)无 EA,操作数为(B X)=6 3 7 D H;(4)E A=(B X)=6 3 7 D H:(5)E A=(B X)+D=0 D 5 B 4 H;(6)E A=(B X)+(S I)=8 E 1 8 H;(7)E A=(B X)+(S I)+D=1 0 0 4 F H;超过了段的边界,最高进位位丢失,因此E A=0 0 4 F H。3.2 试根据以下要求写出相应的汇编语言指令(1)把 BX

15、寄存器和DX寄存器的内容相加,结果存入DX寄存器中。(2)用寄存器BX和 S I 的基址变址寻址方式把存储器中的-个字节与AL寄存器的内容相加,并把结果送至ij AL 寄存器中。(3)用寄存器BX和位移量O B 2 H 的寄存器相对寻址方式把存储器中的一个字和(C X)相加,并把结果送回存储器中。(4)用位移量为0 5 2 4 H 的直接寻址方式把存储器中的一个字与数2 A 5 9 H 相加,并把结果送回存储单元中。(5)把数0 B 5 H 与(A L)相加,并把结果送回AL中。答:(l)A D D D X,B X(2)A D D A L,B X S I|(3)A D D B X+0 B 2

16、H ,C X(4)A D D W O R D P T R 0 5 2 4 H J,2 A 5 9 H(5)A D D A L,0 B 5 H3.3 写出把首地址为B L O C K 的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址答:(l)M O V B X,O F F S E T B L O C KA D D B X,(6-1)*2MOVDX,BX(2)MOVBX,OFFSETBLOCKMOVDX,BX+(6-1)*2(3)MOVBX,OFFSETBLOCKMOVSI,(6-1)*2MOVDX,BXSI改为:MOV BX,(6-1)*2也可 MOV DX,BLOCKBX3.4 现有(DS)=2000H,(BX)=0100H,(Sl)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX 寄存器的内容。(1)MOV

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

当前位置:首页 > 大杂烩/其它

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