1、第1章习题答案I.答:为了区分所运用的数制.一般用以下两种书写格式表示:用括号将数字括起.后面加数制区分.数制用下标的形式给出:用后缀区分,二进制数、十进制数、八进制数、十六进制数的后缀分别为字出B(或b)、D(rftdhO(或。)或Q(或q)、H(或h)。例如:十六进制数56.78可以表示成(56.78)16或56.7XH:十进制数56.78可以表示成(56.78)10或56.7SD-2 .答:123D采纳十进制,OAFH果纳十六进制,77Q采纳八迸制,1001.I1.OB采纳二进制.3 .答:字长为8位的:进制数原码表示的最大侑;127,以小侑:/27:补码衣示的G大值;127.最小值:-
2、128.字长为16位的:进制数IS码表示的最大假:32767,最小值:.32767:补码表示的最大值:32767.最小值:-32768.4 .答:(I)I25D=OIIII1O1B=7DH(2)255D=II11IIHB=FFH72D=O1.Oo1.(KX)B48H(4)5090D=f1.1.OO1.I11101OB=13E2H5 .答:m(DimOOooB=240D=FOH(2) IOO(XX)OB=I28D=8OH(3)1.1.1.1.H1.1.B=255D=FFH(4)0101OIOIB=85D=55H6 .答:1.)n=255D=1.1.1.1.II1.IB(2) ABCDH=4394
3、7D=IoIOIOI1.H(X)I1.OIB(3) 123H=29iD=COOOO(X)I(X)IO(X)I1.B(4)FFFFH=65535D=1.1.1.1.I1.1.1.I1.1.1.III1.B7,答:(1)8位时(16,=OOO1.(XMX);(16).=OOOI0000:16位时(16)20000OOOOOOOI0000;(16)*=OoOOOOOOOoO1.ooO0:(2) 8位时(-16)9=10010000:(-16)=11110000;16位时(-16M=100OOoOOOoo100Oo;(-16)=II1.1.I1.1.1.1111OOCK);(3) 8位时(X)A=(X
4、XX)(XXX):(+()=OUoOO(XK):16位时(X)=()0(XXX)(XKX):(+O)=(XXX)(XXX)(XXX)(MKX):(4) 8位时(-0)=I(XX)(XKM):(-0).-O(XX)O(X)O:16位时(-0),,1()()(XXM)(XXX)O(X)0:(-0)*=(XXX)(XKX)(XKX)(XXX):(5) 8位时(127N=OH1.I1.1.1.i(I27),1=OIIII1.1.k16位时(127h=0000000()01.1.1.1111;(127).,=00000001.I1.I1.1.1.;(6) 8位时/28超过原码表示的范围;(-128).=
5、10000000;16位时(-128)K=100OOOOO10000000;(-28h=mi100ooo00:8位时(121)*=3U1001.:(I21h=1.1.1.1001:16位时(121)*OOoOO(XX)OI1.1.1001:(12Dw=OOOO0000O1.111001:(8)8也时(-9).1000I(K)I:(-9).=IIIIO1.1.k16位时(-91.=100oOOOOOooo1.o01;(-9h=1.1.1.1.I1.1.1.I1.1.1.0111;8 .答:(1) (X1.=I100oo10:(2)-xh=OOOOIIOIi3)x=1.100OOIOi(4)Mrt
6、IOII1.1.01。9 .答;(1) AB:(2)A13H:3)溢出:(4)EDH:(5)EDHC11 .答:(1) 100O1000;(2)I1.1.O1110;(3)01100110:(4)IOIO1100;(5) OooOOo00;(6)IO1.O1100;(7)=O1.O1.1.1.e12 .答:(1) 30H=48.字符为O:(2)39H=57.字符为9:(3)42H=66.字符为B:(4) 62H=98.字符为b:(5)2OH=32,字符为空格:(67H=7,字符为报警符:13、答:十进制49123762压缩BCD码O1001001.BOOo1.00I000IIBOoooOU1
7、B011000I0B非压缩BCD码0000010000001001.BOOOO(X)OI(XXX)CK)1OOOOOI1B(MXM)OII1.B(XXX)O1.100()0()IOBASCII码3439H313233H37H3632H第2章习题答案1 .1)答:物理地址:物理地址(PA是20位无符号二进制效,是CPU访问存储器的实际地址,每个存储单元时应一个物理施址.8086存储空间的物理地址范围站:OHFFFFFH逻辑地址:采纳分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为:段地址:的格地址.段地址:8086规定各逻辑段从节的整数边界起先.即段首地址二进
8、制值的低4位是()000.把段苜地址的高16位称为段基址或段地址。偏格地址:把某一存储单元相对于段地址的段内偏移Ift称为偏移地址CH,C1.,DH、D1.;指针和变址寄存器SP、BP.S1.DI:4个16位的段寄存器CS、DS.SS和ES:标记寄存器FR:指令指针寄存器IPe功能略.5 .答:(1)加法运算的结果为:CECHiCF=O,PF=I,AF-O,ZF=O.SF=1.OF=I;(2) 加法运算的结果为:68CH;CF=O,PF=I,AF=O,ZF=O.SF=O,OF=O;(3) 加法运髓的结果为:DDDDH:CF=O.PF=1.F=0,ZF=O,SF=I,OF=S6 .答:S086C
9、PU可寻址的存储密地址范用是(XXXX)H-FPPFEH:可寻址的Ho端川也址范阚是(MKX)H-FWH.7 .答:由于8086CPU供应供位地址,但8086中可用来存放地址的寄存器,如IP、SP、BX,SI等都是16位的,只能干脆寻址64KB.为了寻址IMB存储空间,8086CPU采纳了典型的存储器分段技术,即将整个存储器空间分为很多设辑段,部个迈辑段的容敬小于或等于64KB.分段后,对存储器的寻址操作不再干腌用20位的物理地址,而是采纳段地址加段内偏移地址的二级寻址方式.8 .答:将ah的内容送存储单元的操作过程中:M/记=1.标=O.而=1.or/万=1:将1.0端口的内容送A1.的操作
10、过程中:M/方=0,WA=I,而=0,。7/斤=09 .答:HHEAO有效的数据引脚操作00AD15ADO(一个总线周期同时访问奇体和偶体,从奇地址单元读/写字数据的而8位,从偶地址单元读/写字数据的低8位从偶地址读/写一个字10AD7-AD0从做地址读/写一个字节0IADI5-AD8从奇地址读/写一个字节0110ADI5AD8(第一个总线周期从奇字数据的低8位)AD7-AD(其次个总线周期从偶地址单元读,写字数据的高8位)从奇地址读/写一个字IO.?:So6系统复位后,指令指针(IP为(XXX)H:CS寄存器为FFFFH,其他寄存器为Oo(X)H:指令队列清空.11 .答:8086的A19/
11、S6-AI&53和AD15-ADO是复用伯号,须要地址锁存器将地址伯恩保存起来,为外接存储器或外设供应地址信息。理要锁存的信号是:地址信号及福信号.12 .答:8086CPU一个基本的总线周期包含4个时仲冏期:TKT2.T3和T4.在T1.状态,M/15有效.指示CPU访问的是存储器还是外设,之后CPU往多路复用总线上发出地址信息,以指出要汴址的存储单元或外设端1.J的地址.在TI状态,CPU还必福在A1.E引脚上输出一个正脓冲作为地址做存信号.豆而信号也在TI状态送出,它用来衣示数据传送的字宽.在T2状态,CPU从总戌上撤销地址,使总燃的低16位浮空,置成i阻状态,为传输数据作打舞,总城的最
12、高4位(A19-AI6)用来输出本总战周期的状态信息。读信而或写信号而在T2状态变为有效,指示CPU将进行哪种操作(读或写).在T3状态,多路总线的高4位接着供应状态信息,而多路总线的低16位上出现由CPU读H1.的数据或者CPU从存储器或端口写入的数据,在T4状态和前个状态的交界处,CPU对数据总城进行采样,获得数据,总战周期结束.13 .答;在有些状况下,外设或存储需速度较慢,不Ife刚好地协作CPU传送数据。这时,外设或存储器会通过READY”信号线在T3状态启动之前向CPU发一个“数据未打算好”信号.于是CPU会在丁3之后插入1个或多个附加的时抻周期TW.取决与外设或存储零速度。14
13、答:两种操作时序的不同之处发生在T1.和T2状态.在T1.状态,读周期:DT/R应输出低电平:写层期:DT/R应输出裔电平。在T2状态.读周期:面有效,而而无效,ADI5-ADO为褥阳态:写周期:RD变为无效,而写估号而变为有效,AD15-AD0在地址撤销之后马上送出要写入存储器或外设相口的数据,15 .南小模式卜,,彼佑号A5、A1.E和DT京、丽T等信号干脆由CPU空;匕:在最大模式下,总线限制器8288依掘口耳和乱状态信号产生读信号雨5GH1.iORC-A1.E和DT京、DEN也是由8288发出的,而且DEN信号的极性与CPU在地小根式下发出的5国信号正好相反。第3章习题答案1 .答:
14、指令中关于如何求出操作数疗效地址的方法称为寻址方式,8086CPU支持多种J址方式,依据操作数的类型及来源大致分为3类:数据寻址、转移地址寻址和I/O寻址.2 .答:8086汇编指令可以采纳7种姑本的数据寻址方式:马上寻址:寄存器寻址:干脆寻址:寄存器间接寻址:寄存器相对寻址:基址变址寻址:相对基址变址寻址.与存储器寻址方式(后5种)相比,寄存器寻址方式最快.3 .答:假如指令中没干j用前缀说明操作数存放在哪个段,则愫作数默认存放在数据段,8086系统允许操作数存放在代码段、堆校段或附加段。此时,就须要在指令中利用懵缴指明段超越.例如:MOVES:I225H|,/X4浴:(1)寄存器寻址方式(
15、2)寄存器间接寻址方式,PA=1030011.(3)寄存揖间接守址方式,PA=2020OH(4)干脆寻址方式,RA=10060H(5)基址变址寻址方式.PA=IO500H(6)相对基址变址寻址方式,PA=I230OH(7)干脆寻址方式,PA=II(XX)H(8)寄存器相对J址方式,PA=Io306H(9)干脆寻址方式,P=10065H5 .答:(1)2)(3)(4)(5)(6)7)(8)(9)(10)(11)XX6 .答:(1)源操作数的科址方式不同.MOVAX.3000H指令的源操作数采纳的是口上数寻址方式,MOVAX.3000川指令的源操作数采纳的是干脆寻址方式.(2)指令执行后,AX的值
16、不同。MOVAX.MEM指令执行后,AX得到的是MEM单元的内容,而MOVAX1OFFSEtMEM指令执行后,AX得到的是MEMIR元的地址,(3)指令不同。MOVAX.MEMMOVAX.MEM指令执行后,X得到的是MEM单元的内容,而1.EAAX.MEM指令执行后,AX忠到的是MEM单元的地址.(4)转移的类型不同.JMPSHORT1.1.指令实现的是段内转移,而JMPNEARPTR1.!指令实现的是段间转移.指令的执行结果不同.CMPDX.CX指令执行后.DX的值不变,而SUBDX.CX指令执行后,DX的俏是两寄存器值的号.(6)操作数所在段不同.MOVBPS1.C1.指令访问的是堆栈段的
17、存储单元,而MOVDS4BP)(SI.C1.指令访问的是数据段的存储单元。7 .答:(1) MOVBYTEPTRBP)200指令执行后,582OOH)=200H(2) MOVWORDPTRBX.2000指令执行后.(22400H)=2(DX)=I8B7H.CF=I(6(DX)=BCC5H.CF=O10 .答:(AX)CFZFOFSFPF(I)I34EH00001(2)082IH0000iFI42HI00II(4)0A69100I1F596(6)0A690000111 .答:(I)CMPCX.DXJANEXT(2)CMPAX.BXJNANEXT(3)CMPDX.0JZNEXT(4)CMPCX.D
18、XJBENEXT12 .答:(1) 程序转向U.(2) 程序转向U.(3) 程序转向1.2.(4) 程序转向1.5,(5程序转向1.5,13 .答:因为-般运舞指令执行的是二进制数的运算,而BCD码是I进制数,所以,须要对运算结果进行十进制调整,在做BCD码的加、减和乘法运算时,十进制调整指令放在运弊指令之后;而作BCD码的除法运算时,在运算指令之前用十进制冏整指令对被除数进行谓整.M.答:MOVCI.3SHRbx1c1.15.1$:略16.南DATASEGMENTCoUNT=100HORGI(KM)HD.DTDBCOUNTDUP(?)ORG217011S.DATADBCOUNT/5DUP(1
19、23.4.5)DATAENDSCODESEGMENTASSUMECS:CODE.DS:DATA.ES:DATASTART:MOVAX,DATAMOVDS1AXMOVES.X1.EAS1,S.DT1.EADI.D_DATAMOVCX.COUNTREPMOVSBMOVA1.JCODESEGMENTASSUMECSiCODESTART:MOVAX,5678HMOVDXJ234HNOTAXNOTDXADDAXJADCDX.0EXIT:MOVAH.4CHINT21HCODEENDSENDSTART18.答::本程序未考虑溢出的状况DATASEGMENTA1.DW5O5OHA2DW?:存A1.的反码A3
20、DW?;存A1.的补码DATAENDSCODESEGMENTASSUMECSrCODE1DSiDATA三r7vdx.20IHoutdx,a1.jmpagaindiap_1.:nxiva1.3FHnovdx.2O1.houtdx.a1.jmpagainexit:14 .什么是同步通信方式?什么是异步通侑方式?答:依据在中行通信中数据定时和同步的不同,串行逋信方式分为同步中行定信和异步的行通信.同步传送要求对传送的每一位在收发两端保持严格同步,发送端、接收端运用同一时仲海以保证同步.异步串行通信中的异步是指发送瑞和接收潴不运用共同的时钟,也不在数据中传送同步信号,但接收方与发送方之间必传约定传送数
21、据的帕格式和波特率.15 .什么是双工、半双工和单工通信方式?答:双工通信方式,两设备之间有两根传输线,河于每一个设得来讲都有专用的一条发送战和一条专用的接收线,实现双向数据传送。半双工通信方式数据可从设符1发送到设品2.此时设招1是发送方,设得2是接收方:也可以从i殳备2发送到设备I.此时设备2是发送方,i殳备1是接收方.但某设备不能同时接收和发送数据.单上方式,数据只能向单一方向传送,只能从设备1发送到设备2,设备I是发送方,设备2是接收方。16 .采纳异步串行传输方式时,每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,假如波特率为1200bps,则每秒能传输的最大字符数
22、是多少?答:等秒能传输的最大字符数为:12Oay1.+7+)=12。字符/s17 .利朴个异步申行传输系统传送文字资料,系统的速率为920ObPM待传送的资料为2000字符设系统不用校验位.停止位只用1位,每个字符用8位.网至少须要多少时间才能传完全部资料?答:至少须要时间为:2000*(1+8+1)/9600之2.1秒18 .要求825IA工作于异步方式,波特率系数为16.字符长度为7位,奇校脸2个停止位.工作状态要求:红位出错标记、使恳求发送信号记区有效、使数据终端打算好信号而五布效,发送允许TKEN有效、接收允许RxE芍效.设8251A的两个端【I地址分别为Oa)H和0C2H.试端写初始
23、化程序.答:初始化程序:MOVA1.0DAHOirr0C2HI.;设置方式选择吩咐字MOVA1.37HOUT0C2H1.:第9章习颍答案I、答:采纳中断传送方式,而果纳了中断方式,CPU可以进行其它的工作,只在外设打您好数据发出中断恳求之后,才予以响应,短哲中断当前工作转去执行传送数据,传送完成后乂返回执行原来的程序,这样就大大地提裔了计算机系统的效率。2,答:计算机在执行正常程序的过程中,系统内发生任何非寻常的或非侦期的急需处理事务,处理器就短哲中断正在执行的正常程序,而转去执行相应的下务处理程序。当处理完毕后CPU再返回到被短暂中断的程序,接着往下接着执行.这个过程称为中断.产生中断型求的
24、设备或事务称为“中断源从中断源来看,中断一般可分为:类:由计算机硬件异样或故障引起的中断,也称为内部异样中断,由程序中执行了中断指令引起的中断,也称为软中断.外部设备(如输入输出设备)感求引起的中断,也称为外部中断或1/O中断,3、答:中断技术是非常盅要而困难的技术,由计算机的软、硬件共同完成,林之为中断系统.一个完整的中断系统应具备如下功能,设置中断源中断源识别中断源判优中断嵌套中断处理与返回4、答:Intd*)X86系列微机有一个敏捷的中断系统,中断可分为外部中断(或硬件中断主要是外部设备的恳求引起的和内部中断(或软件中断)出指令的执行引起的.可以处叫!256种中断源,好个中断源都彳j对应
25、的中断类型码(0-255)供CPU识别。5,答:当外设通过屏蔽中断恳求信号向微处理器提出中断恳求时,澈处理器在当前指令执行结束后,推断它无中断恳求,CPU对可屏蔽中断恳求的响应是有条件的,它受中断允许标记位IF的限制.当IF=I时,允许CPU响应IN1.R恳求:当IF=O时.禁止CPU响应INTR恳求。8086系统把中断向城衣支配在内存地加OOoOOH-003FFHM域(IK),每四个连续字节存放一个中断向量,其中高地址2个字节的元放段地址(CS),低胞址2个字节单元中放偏移地址(IP).6、答:当外设通过非屏板中断照求侑号向微处理器提出中断恳求时.微处埋器在当前指令执行结束后.就马上无条件的
26、予以响应,这样的中断就是不行屏蔽中断.田NMI引脚出现上升沿触发.高电平维持2个T。不受中断允许标记IF的限制.中断类型号固定为2。由外部设符产生,从CPU的INTR端引入而电平触发.CPU对可屏蔽中断恳求的响应是有条件的,它受中断允许标记位IF的限制。当IF=I时,允许CPU响应INTR恳求:当IF=O时,禁止CPU响应INTR总求.可屏板中断用于CPU与外设进行数据交换.CPU响应时送出两个INTA脉冲,外设则送出中断类型码到CPU.7、答:I)用传送指令干脆装入C1.I;IF=O.关中断MOVAXtO:ES指向0段MOVES.X:向或表地址送BX;中断服务子程序的偏移地址送AX:中阍服务于程序的偏移地址写入向代表MOVBX.0AH4MOVAX.OFFSETINT-PMOVESAVORDPr1.KBXj.AXMOVAX.SEGINT-PA:中断服务子程序的段基址送AXMOVESAVORDPf1.-RBX+2.AX:中断服务程序的段基址写入向皿表JF=I.开中断2)JHDOS系统功能调用装入法C1.1.;IF=O.关中断MOVA1.OAH:中断类型号40H送A1.MOVDX.SEGINT-PA:中断服务子程序的段基址送DSMOVDS.DXMOVDX,