1、 第一章 课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 16.25 35.75 123.875 97/1281.2 把下列二进制数转换成十进制数。 10101.01 11001.0011 111.01 1010.11.3 把下列八进制数转换成十进制数和二进制数。 756.07 63.73 35.6 323.451.4 把下列十六进制数转换成十进制数。 A7.8 9AD.BD B7C.8D 1EC1.5 求下列带符号十进制数的8位补码。 +127 1 0 -1281.6 求下列带符号十进制数的16位补码。 +355 1 1.7 计算机分那几类?各有什么特点?1.8 简述微
2、处理器、微计算机及微计算机系统三个术语的内涵。1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与 CPU 的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 16.25D=10000.01B=20.2Q=10.4H 35.75D=100011.11B=43.6Q=23.CH 123.875D=1111011.111B=173.7Q=7B.EH 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 10101.01B=21.25D 11
3、001.0011B=25.1875D 111.01B=7.25D 1010.1B=10.5D1.3 756.07Q=111101110.000111B=494.109D 63.73Q=110011.111011B=51.922D 35.6Q=11101.110B=29.75D 323.45Q=11010011.100101B=211.578D1.4 A7.8H=167.5D 9AD.BDH=2477.738D B7C.8D=2940.551D 1ECH=492D1.5 +127 补 =01111111 1 补 = 11111111 0 补 =00000000 -128 补 =100000001
4、.6 +355 补 = 0000000101100011 1 补 = 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O 接口电路及系统总线。微计算机系统是在微计算机的基础
5、上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。1.9 答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/80286:16位机;80386/80486:32位机;Pentium 系列机:64位。第二章 课后习题2.1、 EU 与 BIU 各自的功能是什么?如何协同工作?2.2、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?2.3、8086对存储器的管理为什么采用分段的办法?2.4、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。2.5、给定一个存放数据的内存单元的偏移地址是20C0H , (
6、DS)=0C00EH,求出该内存单元的物理地址。2.6、8086/8088为什么采用地址/数据引线复用技术?2.7、8086与8088的主要区别是什么?2.8、怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同2.9、8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?2.10、8086基本总线周期是如何组成的?各状态中完成什么基本操作?2.11、在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的?BHE#信号起什么作用?2.12、80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足?2.13
7、、80386内部结构由哪几部分组成?简述各部分的作用。2.14、80386有几种存储器管理模式?都是什么?2.15、在不同的存储器管理模式下,80386的段寄存器的作用是什么?2.16、描述符的分类及各描述符的作用。2.17、80386的分段部件是如何将逻辑地址变为线性地址的?2.18、803866中如何把线性地址变为物理地址?习题二参考答案1、答:EU 是执行部件,主要的功能是执行指令。BIU 是总线接口部件,与片外存储器及 I/O 接口电路传输数据。EU 经过 BIU 进行片外操作数的访问,BIU为 EU 提供将要执行的指令。EU 与 BIU 可分别独立工作,当 EU 不需 BIU 提供服
8、务时,BIU 可进行填充指令队列的操作。2、答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP 、BP、DI、SI。AX、BX、CX 、DX 一般作为通用数据寄存器。SP 为堆栈指针存器, BP、DI、SI 在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器 CS、DS、SS、ES 和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP 的内容为下一条将要执行指令的偏移地址,与 CS 共同形成下一条指令的物理地址。3、答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址
9、 )。若不用分段方法,16位地址只能寻址64KB 空间。4、答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。5、答:物理地址:320F8H。6、答:考虑到芯片成本,8086/8088采用40条引线的封装结构。 40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。7、答:8
10、086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。8、答:引线 MN/MX#的逻辑状态决定8086的工作模式, MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平, 8086被设定为最大模式。最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入为8086的 S2#S0#三条状态信号引线提供。9、答:标志寄存器、IP、DS、SS、ES 和指令队列置0,CS 置全1。处理器从FFFFOH 存储单元取指令并开始执行。10、答:基本总线周期由4个时钟(CLK)周期组成,按
11、时间顺序定义为T1、T2、T3 、 T4。在 T1期间8086发出访问目的地的地址信号和地址锁存选通信号 ALE;T2期间发出读写命令信号 RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。11、答:8086为16位处理器,可访问1M 字节的存储器空间; 1M 字节的存储器分为两个512K 字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接D7D0, “体选 ”信号接地址线 A0;奇体的数据线连接 D15D8, “体选”信号接 BHE#信号;BHE#信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。12、答:好处是先前开发的软
12、件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂性。13、答:80386内部结构由执行部件(EU)、存储器管理部件(MMU) 和总线接口部件(BIU)三部分组成。 EU 包括指令预取部件、指令译码部件、控制部件、运算部件及保护检测部件,主要功能是执行指令。存储器管理部件包括分段部件、分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址。总线接口部件作用是进行片外访问:对存储器及 I/O 接口的访问、预取指令;另外的作用是进行总线及中断请求的控制14、答:80386有三种存储器管理模式,分别是
13、实地址方式、保护方式和虚拟8086方式15、答:在实地址方式下,段寄存器与8086相同,存放段基地址。在保护方式下,每个段寄存器还有一个对应的64位段描述符寄存器,段寄存器作为选择器存放选择符。在虚拟8086方式下,段寄存器的作用与8086相同。16、答:描述符分为三类:存储器段描述符、系统段描述符、门描述符。存储器段描述符由8字节组成,它用来说明一个段中保存信息的情况。32位段基地址和20位段界限值定位了该段在存储空间中的位置,其它有关位决定访问权限及段的长度单位。系统段描述符与存储器段描述符大多数字节段相同,有关访问权及属性字节段有些不同。门描述符用来改变程序的特权级别、切换任务的执行以及
14、指出中断服务程序的入口。17、答:分段部件根据段选择符从全局描述符表或局部描述符表中取出对应的段描述符。把段描述符32位段基地址与逻辑地址中的32位偏移量相加就形成了线性地址。18、答:分段部件形成的32位线性地址中高10位作为寻址页目录表的偏移量,与控制寄存器 CR3中页目录表基地址共同形成一个32位的地址指向页表中的一个页项,即为一个页面描述符。该页面项中高20位作为页面基地址,线性地址的低12位为偏移量,相加后形成指向某一存储单元的32位物理地址。若禁止分页功能,线性地址就是物理地址。第三章 课后习题3.1、 8086/8088微处理器有哪些寻址方式?并写出各种寻址方式的传送指令2条(源
15、操作数和目的操作数寻址) 。3.2、 有关寄存器和内存单元的内容如下:DS=2000H,SS=1000H,BX=0BBH,BP=02H,SI=0100H,DI=0200H, (200BBH)=1AH, (201BBH)=34H, (200CCH)=68H, (200CDH)=3FH, (10202H)=78H, (10203H)=67H, (21200H)=2AH, (21201H)=4CH, (21202H)=0B7H,(201CCH)=56H, (201CDH)=5BH,(201BCH)=89H,(200BCH)=23H,试写出下表中源操作数的寻址方式和寄存器 AX的内容。表3-7 习题1
16、指令 源操作数寻址方式 AX的内容MOV AX,1200H MOV AX,BX MOV AX,1200H MOV AX,BX MOV AX,BX+11H MOV AX,BX+SI MOV AX,BX+SI+11H MOV AX,BP+DI 3.3、指出下列语句的错误。(1)MOV SI,34H(2)MOV 45H,AX(3)INC 12(4)MOV BX,SI+BP+BUF(5)MOV BL,AX(6)MOV CS,AX(7)OUT 240H,AL(8)MOV SS,2000H(9)LEA BX,AX(10)XCHG AL,78H3.4、已知 DS=2000H, (21000H)=2234H
17、, (21002H)=5566H,试区别以下3条指令。MOV SI,1000HLEA SI,1000HLDS SI,1000H3.5、简述堆栈的性质。如果 SS=9B9FH,SP=200H,连续执行两条 PUSH 指令后,栈顶的物理地址是多少?SS ,SP 的值是多少 ?再执行一条 POP 指令后,栈顶的物理地址又是多少?SS 、SP 的值又是多少?3.6、 写出将 AX 和 BX 寄存器内容进行交换的堆栈操作指令序列,并画出堆栈变化过程示意图。3.7、用两条指令把 FLAGS 中的 SF 位置1。3.8、用一条指令完成下列各题。(1)AL 内容加上12H,结果送入 AL。(2)用 BX 寄存
18、器间接寻址方式把存储器中的一个内存单元加上 AX 的内容,并加上 CF 位,结果送入该内存单元。(3)AX 的内容减去 BX 的内容,结果送入 AX。(4)将用 BX、SI 构成的基址变址寻址方式所得到的内容送入 AX。(5)将变量 BUF1中前两个字节的内容送入寄存器 SI 中。3.9、下面的程序段执行后,DX、AX 的内容是什么?MOV DX,0EFADHMOV AX,1234HMOV CL,4SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL3.10、写出下面的指令序列中各条指令执行后的 AX 内容。MOV AX,7865HMOV CL,8SAR A
19、X, CLDEC AXMOV CX,8MUL CXNOT ALAND AL,10H3.11、 如果要将 AL 中的高4位移至低4位,有几种方法?请分别写出实现这些方法的程序段。3.12、利用串操作指令,将 AREA1起始的区域1中的 200个字节数据传送到以AREA2为起始地址的区域2(两个区域有重叠) 。3.13、寄存器 BX 中有4位0F 的十六进制数,编写程序段,将其转换为对应字符(即 ASCII 码) ,按从高到低的顺序分别存入 L1、L2 、L3、L4 这4个字节单元中。3.14、 试将 BUF 起始的 100个字节的组合 BCD 码数字,转换成 ASCII 码,并存放在以 ASC
20、为起始地址的单元中。已知高位 BCD 码位于较高地址中。3.15、 请给出以下各指令序列执行完后目的寄存器的内容。(1)MOV BX,-78MOVSX EBX,BX(2)MOV CL,-5MOVSX EDX,CL(3)MOV AH,9MOVZX ECX,AH(4)MOV AX,87HMOVZX EBX,AX3.16、 请给出以下各指令序列执行完后 EAX和 EBX的内容。MOV ECX,12345678HBSF EAX,ECXBSR EBX,ECX3.17、 给以 TAB为首地址的100个 ASCII码字符添加奇偶校验位(bit7) ,使每个字节中的“1”的个数为偶数,在顺序输出到10H 号端
21、口。3.18、 编写一段程序,要求在长度为100H 字节的数组中,找出正数的个数并存入字节单元 POSIT中,找出负数的个数并存入字节单元 NEGAT中。习题三 参考答案3.1答:寻址方式是指计算机在执行指令时寻找操作数的方式。8086/8088微处理器有以下几种寻址方式:立即寻址。操作数(仅限源操作数)直接放在指令中。例如:mov cx,100;mov ah,20h。寄存器寻址。操作数在 CPU的内部寄存器中。例如:mov es,ax;mov dl,bh。直接寻址。指令中直接给出了操作数的偏移地址。例如:mov ax,3000h;mov buf,100。寄存器间接寻址。操作数的偏移地址放在寄
22、存器 bp,bx,si,di四个寄存器中的一个里。例如:mov ax,si;mov bx,cx。寄存器相对寻址。操作数的有效地址为基址寄存器或变址寄存器的内容与指令中指定的位移量之和。例如:mov ax,cntsi;mov strbx,ax。基址变址寻址。操作数的有效地址是一个基址寄存器和一个变址寄存器的和。例如:mov ax,si+bx;mov bx+di,dx。相对基址变址寻址。操作数的有效地址为一个基址寄存器、一个变址寄存器的内容与指令中指定的位移量三者之和。例如:mov ax,cntbxsi;mov cntbxsi,ax。3.2. 答:指令 源操作数寻址方式 AX的内容MOV AX,1
23、200H 立即寻址 1200HMOV AX,BX 寄存器寻址 0BBHMOV AX,1200H 直接寻址 4C2AHMOV AX,BX 寄存器间接寻址 231AHMOV AX,BX+11H 寄存器相对寻址 3F68HMOV AX,BX+SI 基址变址寻址 8934HMOV AX,BX+SI+11H 相对基址变址寻址 5B56HMOV AX,BP+DI 基址变址寻址 6778H3.3 答:(1)MOV SI,34H;目的操作数必须指出是字节操作还是字操作,比如可改成 MOV BYTE PTR SI,34H(2)MOV 45H,AX;目的操作数不能是立即数(3)INC 12;操作数不能是立即数(4
24、)MOV BX,SI+BP+BUF;两个操作数不能同是存储单元(5)MOV BL,AX;操作数不匹配(6)MOV CS,AX;CS 不能作为目的操作数(7)OUT 240H,AL ;对于 IN 和 OUT 指令,端口号大于 FFH 时,必须先将端口号放入 DX 寄存器中(8)MOV SS,2000H;段寄存器不能用立即数来赋值,可改成 MOV SS,AX(9)LEA BX,AX;源操作数必须是内存,如 LEA BX,BUFFER(10)XCHG AL,78H;交换指令不能对立即数操作3.4答:MOV SI,1000H;(SI)2234HLEA SI,1000H;(SI)1000HLDS SI,
25、1000H;(SI)2234H, (DS)5566H3.5答:先进后出。9BBF0H49BBECH9BBECH2 9BBEEH3.6答:PUSH AXPUSH BXPOP AXPOP BX3.7 答:MOV AX,7FHADD AX,13.8答:ADD AL,12HADC BX,AXSUB AX , BXMOV AX,BX+SIMOV SI ,BUF13.9答:DXFAD1H,AX2340H3.10答:AX300H3.11答:循环左移mov cl,4rol al, cl循环右移mov cl,4ror al,cl右移mov cl,4shr al,cl3.12答:从末端开始传送即可解决重叠问题。m
26、ov cx,200mov si,offset aera1add si,200mov di,offset aere2add di,200std;DF1,进行地址减量rep movsb3.13答:MOV CL,4MOV AL,BL ;处理最低位十六进制数AND AL,0FHCMP AL,0AHJC DIGT4ADD AL,7DIGT4: ADD,AL,30HMOV L4,ALMOV AL,BL ;处理次低位十六进制数SHR AL,CLCMP AL,0AHJC DIGT3ADD AL,7DIGT3: ADD,AL,30HMOV L3,ALMOV AL,BH ;处理次高位十六进制数AND AL,0FH
27、CMP AL,0AHJC DIGT2ADD AL,7DIGT2: ADD,AL,30HMOV L2,ALMOV AL,BH ;处理最高位十六进制数SHR AL,CLCMP AL,0AHJC DIGT1ADD AL,7DIGT1: ADD,AL,30HMOV L1,AL3.14答:LEA SI,BUFLEA BX,ASCMOV CH,100MOV CL,4AGAIN: MOV AL,SI ;处理低位 BCD码AND AL,0FHADD AL,30HMOV BX,ALINC BXMOV AL,SI ;处理高位 BCD码SHR AL,CLADD AL,30HMOV BX,ALINC BXINC SI
28、DEC CHJNZ AGAIN3.15答:(1)MOV BX,-78;(BX)=FFB2HMOVSX EBX,BX;(EBX)=FFFFFFB2H(2)MOV CL,-5;(CL)=FBHMOVSX EDX,CL;(EDX)=FFFFFFFBH(3)MOV AH,9;(AH)=9HMOVZX ECX,AH(ECX)=00000009H(4)MOV AX,87H;(AX)=87HMOVZX EBX,AX;(EBX)=00000087H3.16答:MOV ECX,12345678H;(ECX)=12345678HBSF EAX,ECX ;(EAX)=00000003HBSR EBX,ECX;(EBX)=0000001CH3.17答: