汇编课后习题答案

上传人:夏** 文档编号:542941851 上传时间:2022-11-21 格式:DOC 页数:16 大小:132.51KB
返回 下载 相关 举报
汇编课后习题答案_第1页
第1页 / 共16页
汇编课后习题答案_第2页
第2页 / 共16页
汇编课后习题答案_第3页
第3页 / 共16页
汇编课后习题答案_第4页
第4页 / 共16页
汇编课后习题答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

1、习题解答习 题 一1.1 解释下列名词: 汇编语言 汇编程序 汇编 目标程序 机器语言 【解】:汇编语言:用符号书写的,其操作与机器指令基本上一一对应的,并遵循一定语法规则的计算机语言称为汇编语言。汇编语言编写的程序,称为汇编语言源程序。目标程序:把汇编语言源程序翻译成机器语言程序,又称目标程序.机器语言:计算机所具有的各种机器指令的集合,称作计算机的机器指令系统,又称作机器语言。1.2 计算机语言的发展经历了哪几个阶段?各阶段有什么特点?【解】:机器语言是由0、1代码组成的面向机器的语言。机器语言程序的编写、阅读和调试都十分困难,但它是计算机可直接识别执行的语言程序,占内存少,执行速度快。汇

2、编语言是用符号表示替代机器指令的面向机器的语言。与机器语言相比,汇编语言易于理解和记忆,汇编语言程序也易于编写、阅读和调试。由于其语句与机器指令语句一一对应,所以具有占内存少、执行速度快的特点,并且能直接控制计算机的硬件设备,充分发挥计算机的硬件功能。高级语言源程序经过编译后才能翻译成计算机可识别、执行的目标程序,所以不能产生有效的机器语言程序,其运行速度较慢,占内存较大。1.3 将下列十进制数分别转换成二进制数和十六进制数。586 8192 255 32766【解】:十进制数二进制数十六进制数586100100101024A81921000000000000020002551111111FF

3、327661111111111111107FFE1.4 将下列二进制数分别转换成十进制数和十六进制数。11010 10000000 11111111 11100111【解】: 二进制数十进制数十六进制数11010261A100000001288011111111255FF11100111231E71.5 将下列十六进制数分别转换成二进制数和十进制数。FB0 FFFF 5678 58F【解】: 十六进制数十进制数二进制数FB04016111110110000FFFF65535111111111111111156782213610101100111100058F1423101100011111.6

4、 写出下列有符号十进制数的8位二进制数补码。-49 -128 120 -111【解】: 十进制数8位二进制数补码49110011111281000000012001111000111011011111.7 写出字符0、9、A、a、2的ASCII码。【解】: 字符ASCII码030939A41a612321.8 写出字符十进制数1234和123的BCD码和压缩BCD码【解】: 十进制数BCD码压缩BCD码123400000001000000100000001100000100000100100011010012300000001000000100000001100000001001000111.

5、9 用十六进制完成下列计算。 (1) 21CH+0ABH (3) 7A0BH+6F3H (2) 6B2CH-9AFH (4) 289EH-0BFAH【解】: (1)2C7 ,(2)80FE,(3)617D,(4)1CA41.10 用8位补码完成下列计算,并把结果转换回十进制数 (1) (+43)+(+27) (5) (+25)+(-49) (2) (-92)+(+33) (6) (-76)+(-18) (3) (+43)-(+27) (7) (+25)-(-49) (4) (-92)-(+33) (8) (-76)-(-18)【解】: (1)70,(2)-59,(3)-16,(4)-125,(

6、5)-24, (6)-94,(7)74,(8)-58习 题 二2.1 8086/8088的段寄存器有哪些?各起什么作用?【解】: 段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。2.2 解释物理地址和程序地址的意义。【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不

7、同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。2.3 某程序分为代码段、数据段和堆栈段三个段,其代码段、数据段和堆栈段的长度分别为12KB、2KB和1KB,该程序被装入内存后,CS、DS和SS寄存器的值分别为1300H、1400H和1500H。试画出其在内存中的位置的示意图。【解】: . 13000hds cs 14000h 14800hss 15000h 15400h 16000h 2.4 三个字型数据1234H、56

8、78H和9ABCH 存放在物理地址为12340H开始的内存区域中,试画出这些数据的存储示意图。【解】: 12340H 34 12 78 5612345H BC 9A2.5 一个双字型数据12345678H,存放在内存中的连续的4个字节单元中,试画出其存储示意图。【解】: 78 56 34 122.6 说明8086/8088的地址转换的方法。【解】:当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择

9、堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。2.7 8086/8088如何获取要执行的下一条指令的地址?【解】:IP寄存器在程序执行过程中,它总是指向下一条指令的第一个字节的偏移地址,它与代码段寄存器CS结合确定下一条指令第一个字节的物理地址。当控制器使用该地址寻址存储器时,就可以取得下一次要执行的指令,而一旦控制器取得这条指令就马上修改IP的内容(段内)或马上修改CS、IP的内容(段间),使它指向下一条指令的

10、第一个字节的偏移地址。 2.8 简要说明8086/8088的标志寄存器中各标志位的意义。【解】:(1) 6个状态标志位的功能分别叙述如下: CF(Carry Flag)进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。 PF(Parity Flag)奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。 AF(Auxiliary carry Flag)辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。ZF(Zero Flag

11、)零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。SF(Sign Flag)符号标志位。它和运算结果的最高位相同。OF(Overflow Flag)溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。DF(Direction Flag)方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。IF(Interrupt enable Flag)中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不

12、响应外部中断。注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。TF(Trap Flag)跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。习 题 三【注】 各题中都使用以下已定义的变量:va,vb,vc:同一个段中的字节型变量,缺省段寄存器是DSvx,vy,vz:同一个段中的字型变量,缺省段寄存器是ES3.1 说明下面指令中每个操作数的寻址方式,如果操作数的寻址方式作数是内存型,还要指出段地址和偏移地址的来源。 (1) MOV AX, BX (2)

13、 ADD BX, AX (3) DIV va (4) MUL vy (5) SUB vc+BX , 1 (6) DIV WORD PTR BP+SI (7) MUL vz+SI+4 (8) MOV BP , SP【解】: (1)寄存器寻址 (2) 寄存器间接寻址 段地址:DS 偏移地址:BX (3)直接寻址 段地址:DS 偏移地址:VA (4)直接寻址 段地址:ES 偏移地址:VY (5) 寄存器相对寻址 段地址:DS偏移地址:VC+BX (6) 基址变址寻址方式,段地址:SS偏移地址:BP+SI, (7) 基址变址相对寻址方式,段地址:DS偏移地址:VZ+SI+4 (8) 寄存器间接寻址 段地址:SS 偏移地址:BP3.2 设DS=2000H, ES=3000H, SS=4000H, SI=00A0H, BX=0100H, BP=0010H, 变量va的偏移地址为0050H,指出下列指令源操作数的寻址方式,对内存型操作数计算出其物理地址。 (1) MOV AX, 0AH

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

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