汇编语言习题解答李敬兆第二版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言习题解答李敬兆第二版
8086/8088和基于ARM核汇编语言程序设计
第1章汇编语言基础知识习题解答
1.1 什么是汇编语言?汇编语言的特点是什么?答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。汇编语言的特点是:
(1)执行速度快。(2)程序短小。
(3)可以直接控制硬件。(4)可以方便地编译。
(5)辅助计算机工作者掌握计算机体系结构。(6)程序编制耗时,可读性差。(7)程序可移植性差。
1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 127 ② 1021 ③ 0.875 ④ 6.25
答:
① 1111111B;177Q;7FH ② 1111111101;
1775Q;3FDH
③ 0.111 B;0.7Q;0.EH ④ 110.01B;
6.2Q;6.4H
1.3 把下列二进制数转换成十进制数。
① 1001.11 ② 101011.10011 ③
111.011 ④ 1011.1
答:
① 9.75D ② 43.59375D ③ 7.375D
④ 11.5D
1.4 把下列八进制数转换成十进制数。① 573.06 ② 75.23 ③ 431.7 ④123.45
答:
① 379.09375D ② 61.296875D ③ 281.875 ④ 83.578125
1.5 把下列十六进制数转换成十进制数。
① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D
答:
① 213.953125D ② 2234.484375 ③ 2862.2265625 ④ 1772.17578125
1.6 把下列英文单词转换成ASCII编码的字符串。
- 1 -
① Upper ② Blow ③
Computer ④ What
答:
① 55H,70H,70H,65H,72H ②
53H,6CH,6FH,77H
③ 43H,6FH,6DH,70H,75H,74H,65H,72H
④ 57H,68H,61H,74H
1.7 求下列带符号十进制数的8位基2码补码。
① +127 ②−2 ③−128
④ +2
答:
① 01111111B ② 11111110B ③
10000000B ④ 00000010B
1.8 求下列带符号十进制数的16位基2码补码。① +628 ②−9 ③−1234 ④+3249
答:
① 0000001001110100B ② 1111111111110111B
③ 1111101100101110B ④ 110010110001B
1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
① 68+(―53)② 68―53 ③ 68―
(―53)④(―68)―53
答:
① 0FH ②0FH ③ 0A1H
④87H
1.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?
答:
在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。
第2章 IBM-PC系统结构习题解答
2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什
么?
答:
微型计算机是指以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心所构造出的计算机系统。
微型计算机主要由微处理器、存储器、系统总线、I/O接口电路和I/O设备组成。微处理器用来执行程序
指令,完成所有的算术和逻辑运算及全机的控制工作;存储器用来存放程序和数据;系统总线是计算机各功能部件之间进行信息传输的通道;I/O设备是指微型计算机配备的输入输出设备,也称外围设备(简称外设),用来提供具体的输入输出手段。
2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?
答:
8086/8088CPU由总线接口部件BIU(Bus Interface Unit)和执行部件
EU(Execution Unit)两部分组成。总线接口部件BIU是8086与系统总线的接口,负责CPU与存储器、I/O端口传送数据;执行部件EU负责指令的执行和数据的运算。
2.3 8086/8088CPU有哪些寄存器?各有什么用途? 答:
8086/8088内部的寄存器可分为通用寄存器、专用寄存器和段寄存器。
8086/8088有8个16位的通用寄存器,包括4个数据寄存器(AX、BX、CX、DX)、2个变址寄存器(SI和DI)和2个指针寄存器(BP和SP)。它们均可以用于保存算术逻辑运算中的操作数和运算结果,但每个寄存器又有各自规定的专门用途。AX 通常称为累加器(Accumulator),用于算术运算、逻辑运算以及与外设传送信息等,它是汇编编程中使用频率最高的一个寄存器。BX称为基址寄存器(Base Address Register) ,常用来存放存储器地址。CX称为计数寄存器(Count Register) ,常用来保存计数值。DX称为数据寄存器(Data Register) ,常用来存放双字长数据的高16位,也用于存放I/O的端口地址。SI称为源变址(Source Index)寄存器,DI称为目的变址(Destination Index)寄存器,主要用于存储器寻址方式时提供偏移地址。SI和DI一般与数据段寄存器DS联用,用来确定数据段中某存储单元的地址。在串操作指令中,还有专用的用法:SI 和数据段寄存器DS联用,DI和附加段寄存器ES联用,分别用来寻址数据段中的源操作数和附加段的目的操作数。BP称为基址指针(Base Pointer)寄存器,SP称为堆栈指针(Stack Pointer)寄存器,它们主要用于指向堆栈段中的存储单元。BP与堆栈段寄存器SS联用,用来确定堆栈段中某存储单元的地址,BP
主要用于给出堆栈中基地址,用它可直接存取堆栈中的数据;SP与堆栈段寄存器SS联用,用来确定堆栈段中栈顶的地址,SP保存堆栈栈顶的偏移地址,用它只可访问栈顶。
IP(Instruction Pointer)为指令指针寄存器,用来存将要执行的指令在代码段中的偏移地址。它和代码段寄存器CS一起可以确定下一条的指令的物理地址。标志寄存器FLAGS也被称为程序状态寄存器PSW,用来存放状态标志和控制标志的寄存器。
- 2 -
8086/8088有4个16位段寄存器,分别为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。段寄存器是根据内存分段的管理模式而设置的,专门用于存放段地址。CS(Code Segment Register)称为代码段寄存器,用来存放代码段的段地址;DS(Data Segment Register)称为数据段寄存器,用来存放数据段的段地址;ES(Extra Segment Register)称为附加段寄存器,用来存放附加段的段地址;SS(Stack Segment Register)称为堆栈段寄存器,用来存放堆栈段的段地址。
2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?