1习题11.将下列十进制数转换成二进制数、八进制数、十六进制数。①(4.75)10=②(2.25)10=③(1.875)10=2.将下列二进制数转换成十进制数。①(1011.011)2=②(1101.01011)2=③(111.001)2=3.将下列十进制数转换成8421BCD码。①2006=②123.456=4.求下列带符号十进制数的8位基2码补码。①[+127]补=01111111②[-1]补=11111111③[-128]补=10000000④[+1]补=000000015.求下列带符号十进制数的16位基2码补码。①[+655]补=②[-1]补=③[-3212]补=④[+100]补=2习题21.8086CPU在内部结构上由哪几部分组成?各部分的功能是什么?答:8086CPU内部由两大独立功能部件构成,分别是执行部件EU和总线接口部件BIU。执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。2.简述8086CPU的寄存器组织。答:8086CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段。地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。控制寄存器包括指令寄存器和标识寄存器。3.试述8086CPU标志寄存器各位的含义与作用。答:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。状态标志位分别是CF,PF,AF,ZF,SF,和OF。CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。PF:奇偶标志位。反应计算结果中1的个数是偶数还是奇数。若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.AF:辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.ZF:零标志位。若指令运算结果为0,则ZF=1;否则ZF=0。SF:符号标志位。它与运算结果最高位相同。OF:溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。34.8086CPU状态标志和控制标志有何不同?程序中是怎样利用这两类标识的?8086的状态标志和控制标识分别有哪些?答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。它们分别是CF,PF,AF,ZF,SF,和OF。控制标志位用来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。5.将10011100和11100101相加后,标识寄存器中CF,PF,AF,ZF,SF,OF各为何值?6.段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为多少?指向这一地址的CS指和IP值是唯一的吗?7.在8086系统中,逻辑地址FFFF:0001,00A2:37F和B800:173F的物理地址分别是多少?8.在8086系统中,从物理地址388H开始顺序存放下列3个双字节的数据651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?4习题31.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?(1)MOVAX,0ABH(2)MOVAX,[100H](3)MOVAX,VAL(4)MOVBX,[SI](5)MOVAL,VAL[BX](6)MOVCL,[BX][SI](7)MOVVAL[SI],BX(8)MOV[BP][SI],100解:2.已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。答:53.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(AX)=1200H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H.试说明下列各条指令单独执行后相关寄存器或存储单元的内容。(1)MOVAX,1800H(2)MOVAX,BX(3)MOVBX,[1200H](4)MOVDX,1100[BX](5)MOV[BX][SI],AL(6)MOVAX,1100[BX][SI]5.若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,试写出包含XLAT指令的指令序列查找N(0~15)中的某个平方数。答:LEABX,TABLEMOVAL,CLXLAT7.假定(DX)=1100100110111001B,CL=3,CF=1,试确定下列各条指令单独执行后DX的值。(1)SHRDX,1(2)SHLDL,1(3)SALDH,1(4)SARDX,CL(5)RORDX,CL(6)ROLDL,CL(7)RCRDL,1(8)RCLDX,CL68.已知程序段如下:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCXINT20H试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束后,AX及DX寄存器的值为多少?9.试分析下列程序段:ADDAX,BXJNCL2SUBAX,BXJNCL3JMPSHORTL5如果AX,BX的内容给定如下:AXBX(1)14C6H80DCH(2)B568H54B7H问该程序在上述情况下执行后,程序转向何处。7习题42.假定VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。(1)ADDVAR1,VAR2(2)SUBAL,VAR1(3)JMPLAB[CX](4)JNZVAR1(5)MOV[1000H],100(6)SHLAL,43.对于下面的符号定义,指出下列指令的错误。A1DB?A2DB10K1EQU1024(1)MOVK1,AX(2)MOVA1,AX(3)CMPA1,A2(4)K1EQU20487.设变量单元A、B、C存放有3个数,若3个数都不为零,则求3个数的和,存放在D中;若有一个为零,则将其余两个也清零,试编写程序。答:898.有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束;否则,按顺序将此元素插入表中适当的位置,并修改表长。答:109.内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。答:1110.编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。加密表如下:输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1,3,6,8,0,2,4。答:1211.试编程序,统计由40000H开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。答:DATASEGMENTDA1DB'A'BUFFDB4000HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,4000HMOVDS,AXMOVBX,0MOVCX,4000HFIND:MOVAL,[BX]MOVBL,DA1CMPAL,BLJNZNEXTINCDXNEXT:INCSILOOPFINDMOVAH,4CHINT21HCODEENDSENDSTART1312.在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着某班80个同学某门考试成绩。按如下要求编写程序:(1)编写程序统计≥90分;80分~89分;70分~79分;60分~69分,<60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序单元中。(2)试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER单元中。答:1413.编写一个子程序,对AL中的数据进行偶校验,并将经过校验的结果放回AL中。15习题51.试述DRAM的工作特点;与SRAM相比有什么长处和不足之处;说明它的使用场合。答:DRAM,动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。SRAM,静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的。与SRAM相比,DRAM价格便宜、速度慢、容量大,主要用来做主存储器,存储程序和数据;而SRAM主要用在Cache等对速度要求高的情况。2.试述DRAM刷新过程和正常读/写过程的区别。答:刷新是以行为单位进行,且刷新过程中不能进行读写操作。3.设有一个具有20位地址和32位字长的存储器,问:(1)该存储器能存储多少个字节的信息?(2)如果存储器由512K*8位SRAM芯片组成,需要多少片?(3)需要多少位作芯片选择?4.对于8K×8位RAM组成的存储器系统,若某组的起始地址为08000H,则其末地址为多少?5.在8088最大方式系统总线上扩充设计4K字节的SRAM存储器电路。SRAM芯片选用Intel2114,起始地址从0000H。试画出此存储器电路与系统总线的连接图。166.在8088系统总线上扩充设计8K的字节的SRAM存储器电路。SRAM芯片选用Intel6264,起始地址从04000H开始,译码器电路74LS138.(1)计算此RAM存储区的最高地址是多少。(2)画出此存储器电路与系统总线的连接图。(3)编写程序实现对此存储区域进行自检。答:177.在8086最小方式系统总线上扩充设计16K字节的SRAM存储器电路,SRAM芯片选用Intel6264,起始地址从04000H开始,译码器电路采用74LS138.(1)计算此RAM存储区域的最高地址是多少(2)画出此存储器与总线的连接图。答:(1)(2)习题61.什么是接口?接口的功能是什么?答:位于主机与外设之间,用来协助完成数据传送和控制任务的逻辑电路称为接口电路,接口电路对输入/输出过程起缓冲和联络作用。接口的功能有:数据缓冲功能,联络功能,寻址功能,预处理功能,中断管理功能。2.计算机对I/O端口编址时通常采用哪两种方法?在8086系统中,用哪种方法进行编址?答:I/O端口和存储器统一编址;I/O端口单独编址。8086系统采用I/O端口单独编址方式。8.什么叫中断向量?它放在哪里?对于1CH的中断向量在哪里?如果1CH的中断程序从5110H开始:2030H开始,则中断向量应该怎样存放?答:中断向量即用来提供中断入口地址的一个指针。189.类型号为20H的中断服务程序入口符号地址为INT-5,试写出中断向量的装入程序片段。答:MOVAX,0MOVDS,AXMOVSF,20H*4LEAAX,IMSMOV[IS],AXMOVAX,SEQ,INTSMOV[SI+2],AX19习题73.假定8255的端口地址分别为0060H,0063H,编写出下列各情况的初始化程序:(1)将A口,B口设置方式0,端口A和C作为输入口,B作为输出口(2)将A口设置成方式1,输入口,PC6,PC7作为输出端,B口设置成方式1,输入口答:2.设8253计数器0~2和控制字I/O地址依次F8H~FBH,说明如下程序的作用。MOVAL,33HOUT0FBH,ALMOVAL,80HOUT0F8H,ALMOVAL,50HOUT0F8H,AL答