16、32位微机原理、汇编语⾔及接⼝技术教程课后习题答案
《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)(2)(3)(4)
〔解答〕
(1)91
(2)89
(3)36
(4)90
〔习题1.11〕
将下列⼗进制数⽤8位⼆进制补码表⽰:
(1)0 (2)127 (3)-127 (4)-57
〔解答〕
(1)0
(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
16进制
〔解答〕
物理地址:物理存储单元具有的⼀个唯⼀的20位编号
逻辑地址:在8088内部和⽤户编程时,所采⽤的“段地址:偏移地址”形式
将逻辑地址中的段地址左移⼆进制4位(对应16进制是⼀位,即乘以16),加上偏移地址就得到20位物理地址
1MB最多能分成1MB÷16B=220÷24=216个逻辑段,因为每隔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)不允许段寄存器之间的直接传送。
(5)数据溢出。
(6)sp不能⽤于寄存器间接寻址。
(7)格式不对。应为:mov ax,[bx+di]
(8)mov指令的操作数不能是⽴即数。
〔习题2.10〕
已知数字0~9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为⾸地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执⾏结果。
lea bx,table
mov al,8
xlat
〔解答〕
lea bx,table ;获取table的⾸地址,BX=200H
mov al,8 ;传送欲转换的数字,AL=8
xlat ;转换为格雷码,AL=12H
〔习题2.11〕
给出下列各条指令执⾏后AL值,以及CF、ZF、SF、OF和PF的状态:mov al,89h
add al,al
add al,9dh
cmp al,0bch
sub al,al
dec al
inc al
〔解答〕
mov al,89h ;AL=89H CF ZF SF OF PF
add al,al ;AL=12H 1 0 0 1 1
add al,9dh ;AL=0AFH 0 0 1 0 1
cmp al,0bch ;AL=0AFH 1 0 1 0 1
sub al,al ;AL=00H 0 1 0 0 1
dec al ;AL=0FFH 0 0 1 0 1
inc al ;AL=00H 0 1 0 0 1
〔习题2.12〕
请分别⽤⼀条汇编语⾔指令完成如下功能:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论