. .. . ..
《16/32位微机原理、汇编语言及接口技术教程》
部分习题参考解答
第1章 微型计算机系统概述
〔习题1.2〕
什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统? 〔解答〕
通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题1.5〕
说明微型计算机系统的硬件组成及各部分作用。 〔解答〕
CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。
学习参考
. .. . ..
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题1.6〕
什么是总线?微机总线通常有哪3组信号?各组信号的作用是什么? 〔解答〕
总线:传递信息的共用通道,物理上是一组公用导线。 3组信号线:数据总线、地址总线和控制总线。
(1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。 (2)数据总线:传输读写操作的数据信息。 (3)控制总线:协调系统中各部件的操作。 〔习题1.7〕
简答如下概念: (1)计算机字长
(2)取指-译码-执行周期 (3)ROM-BIOS (4)中断 (5)ISA总线 〔解答〕
(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
(3)ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。
(4)中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
(5)ISA总线是指IBM PC/AT机上使用的系统总线。 〔习题1.8〕
下列十六进制数表示无符号整数,请转换为十进制形式的真值: (1)FFH (2)0H (3)5EH (4)EFH 〔解答〕
(1) 255 (2) 0 (3) 94 (4) 239
学习参考
. .. . ..
〔习题1.9〕
将下列十进制数真值转换为压缩BCD码: (1)12 (2)24 (3)68 (4)99 〔解答〕
(1) 12H (2) 24H (3) 68H (4) 99H
〔习题1.10〕
将下列压缩BCD码转换为十进制数:
(1)10010001 (2)10001001 (3)00110110 (4)10010000 〔解答〕
(1) 91 (2) 89 (3) 36 (4) 90
〔习题1.11〕
将下列十进制数用8位二进制补码表示:
(1)0 (2)127 (3)-127 (4)-57 〔解答〕
(1) 00000000 (2) 01111111 (3) 10000001 (4) 11000111
〔习题1.12〕
数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码0DH和0AH分别对应什么字符? 〔解答〕
数码0~9对应的ASCII码依次是30H~39H。
大写字母A~Z对应的ASCII码依次是:41H~5AH。 小写字母a~z对应的ASCII码依次是:61~7AH。 ASCII码0DH和0AH分别对应的是回车和换行字符。
学习参考
. .. . ..
第2章 微处理器指令系统
〔习题2.1〕
微处理器内部具有哪3个基本部分?8088分为哪两大功能部件?其各自的主要功能是什么?这种结构与8位CPU相比为什么能提高其性能? 〔解答〕
算术逻辑单元ALU、寄存器组和控制器;
总线接口单元BIU:管理8088与系统总线的接口负责cpu对接口和外设进行访问 执行单元EU:负责指令译码、执行和数据运算;
8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。
〔习题2.2〕
说明8088的8个8位和8个16位通用寄存器各是什么? 〔解答〕
8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL;
8个16位寄存器:累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地址寄存
器SI、目的地址寄存器DI、基址指针BP、堆栈指针SP。 〔习题2.4〕
举例说明CF和OF标志的差异。 〔解答〕
例:有运算:3AH+7CH=B6H
作为无符号数运算,没有进位,CF=0; 作为有符号数运算,结果超出范围,OF=1. 〔习题2.5〕
什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:
⑴ FFFFH:0 ⑵ 40H:17H ⑶ 2000H:4500H ⑷ B821H:4567H 〔解答〕
物理地址:物理存储单元具有的一个唯一的20位编号
逻辑地址:在8088内部和用户编程时,所采用的“段地址:偏移地址”形式
将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址
学习参考
. .. . ..
1MB最多能分成1MB÷16B=2÷2=2个逻辑段,因为每隔16个字节单元就可以开始一个逻辑段
⑴ FFFFH:0=FFFF0H ⑵ 40H:17H=00417H ⑶ 2000H:4500H=24500H ⑷ B821H:4567H=BC777H 〔习题2.8〕
已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,说明下列每条指令执行完后AX寄存器的内容,以及源操作数的寻址方式?
⑴ mov ax,1200h ⑵ mov ax,bx
⑶ mov ax,[1200h] ⑷ mov ax,[bx]
⑸ mov ax,[bx+1100h] ⑹ mov ax,[bx+si]
⑺ mov ax,[bx][si+1100h] 〔解答〕
⑴ mov ax,1200h ;AX=1200H,立即数寻址 ⑵ mov ax,bx ;AX=0100H,寄存器寻址 ⑶ mov ax,[1200h] ;AX=4C2AH,直接寻址 ⑷ mov ax,[bx] ;AX=3412H,寄存器间接寻址
⑸ mov ax,[bx+1100h] ;AX=4C2AH,寄存器相对寻址 ⑹ mov ax,[bx+si] ;AX=7856H,基址变址寻址
⑺ mov ax,[bx][si+1100h] ;AX=65B7H,相对基址变址寻址 〔习题2.9〕
说明下面各条指令的具体错误原因 ⑴ mov cx,dl ⑵ mov ip,ax ⑶ mov es,1234h ⑷ mov es,ds ⑸ mov al,300 ⑹ mov [sp],ax ⑺ mov ax,bx+di ⑻ mov 20h,ah 〔解答〕
(1)cx为字寄存器,dl为字节寄存器,类型不匹配。
(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。 (3)不允许立即数到段寄存器的传送。 (4)不允许段寄存器之间的直接传送。
学习参考
20416