资源描述:
《汇编语言程序设计答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《汇编语言程序设计教程》人民邮电出版社2013习题及参考答案1.1什么是机器语言?什么是汇编语言?简述汇编语言的特点。机器语言就是用二进制编码组成的机器指令的集合和一组使用机器指令的规则。汇编语言是对机器指令中的操作码用英文单词的缩写描述,对操作数用标号、变量、常量描述。汇编语言的特点:(1)与机器有关:移植性差,但可直接控制硬件。(2)程序效率高。(3)局限性:受指令的限制,如考虑存储单元等。(4)调试困难。1.2汇编程序与汇编源程序的区别是什么?汇编源程序是指用汇编语言编写的程序,而汇编程序特指将汇编源程序汇编成目标文件的编译程序。1.3把下列十进制数转换为二进制数和十六进制数。(1)67
2、(2)34(3)254(4)123答:(1)1000011,43(2)100010,22(3)11111101,FE(4)1111011,7B1.4把下列二进制数转换为十六进制数和十进制数。(1)01101101(2)10110010(3)111111答:(1)6D,109(2)B2,178,(3)3F,631.5作下列十六进制数的运算,并转换为十进制数校核。(1)5A+64(2)86-49(3)123-9A(4)43×2B答:(1)BE(2)3D(3)89(4)B411.6根据补码定义把下列十进制数表示为8位二进制补码。(1)64(2)-24答:(1)01000000(2)[10011000
3、]原=[11101000]补1.7下列各数均为十进制数,请采用8位二进制补码运算,并回答标志寄存器FLAGS中CF和OF的值,运算结果所代表的十进制数是多少?如果用16位二进制补码运算,其结果所代表的十进制数是多少?FLAGS中CF和OF的值呢?(1)85+69(2)85+(-69)(3)85-(-69)(4)85-(69)答:85=55H,69=45H,-69=BBH,8位二进制补码运算:(1)85+69=55H+45H=9AH=154,CF=0,OF=1(2)85+(-69)=55H+BBH=10H=16,CF=1,OF=0(3)85-(-69)=55H-BBH=9AH=154,CF=1,
4、OF=1(4)85-(69)=55H-45H=10H=16,CF=0,OF=016位二进制补码运算:85=0055H,69=0045H,-69=0FFBBH,(1)85+69=0055H+0045H=009AH=154,CF=0,OF=0(2)85+(-69)=0055H+0FFBBH=0010H=16,CF=1,OF=0(3)85-(-69)=0055H-0FFBBH=009AH=154,CF=1,OF=0(4)85-(69)=0055H-0045H=0010H=16,CF=0,OF=01.8简述计算机系统组成。答:计算机由中央处理器CPU,存储器,输入系统,输出系统组成,由系统总线连接在一
5、起。CPU包括运算器和控制器,运算器执行指令,控制器负责计算机的控制。存储器是计算机的记忆部件,以二进制形式存放程序和数据。输入输出系统包括大容量存储器,如硬盘,以及其他外设,如鼠标,键盘,显示器等。1.9简述16位机的各类寄存器的主要作用。答:(1)数据寄存器:Ax,Bx,Cx,Dx;AX:作为累加器,是算术运算的主要寄存器。在乘除等指令中存放操作数,在I/O指令中使用它与外部设备传送信息。BX:当通用寄存器使用,在计算存储器地址时,作基址寄存器使用。CX:当通用寄存器使用,此外常用来保存计数值,当计数器使用。DX:当通用寄存器使用,一般在作双字长运算时把DX和AX组合使用,对某些I/O操作
6、,DX用来存放I/O的端口地址。(2)地址寄存器:Sp,Bp,Si,Di(3)段寄存器:Cs,Ds,Es,Ss;段寄存器的作用是专用于存储器寻址,用来直接或间接地存放段地址。(4)专用寄存器:Ip,Flags;Ip寄存器专门存放下一条指令的地址,Flags标志寄存器,又称程序状态寄存器。它是存放条件码标志、控制标志和系统标志的寄存器。1.10实模式下,写出段地址和偏移地址为1234:2002、1430:0042、FF00:0FFF的物理地址。答:1234:2002=12340+2002=143421430:0042=14300+0042=14342FF00:0FFF=FF000+0FFF=FF
7、FFF1.1152506=50000+2506,=52500+0006,基地址最大为5250,最小为5000.段地址取值范围:0000—FFFF。既65536个。1.12从物理地址为00100H开始到00103H单元中顺序存放的数据为:12H,34H,56H,78H。请画出数据存放示意图,并回答以下问题:(1)写出00101H字节单元的内容(2)写出00102H字单元的内容答案:(1)(00101