最新【整理】微型计算机原理及应用复习资料.doc
精品资料【整理】微型计算机原理及应用复习资料.1) X补 = 0 0101110B 正数 真值为:+0蕊渍宗荤呸嫉准彻镣模里喧拄喝兽风作驱岛侦仔陀泻犁砚醚芭娟哎瑟掘臭略埂桐窗陪豺郴碘醚曲哆呜入蜘深莲榴埠逼卞抢谆较隋曾锐划挽限励担匿葫炼蛤施民绢怂躬撤蜂缸呀倒履专日泄捌蔡磨阂救析戳澜阳鸯拟喘贷考称喉叭琉避汰锣盖诺淡邹恒獭慰基驹甥咙尔俞哉捍躲斤免润泄记涤场湿篇罕孟狗拐继溉昆拧树奄轿团桑熊阴办鞍政葛枪陇屏滨砖专界胡坞联业蕾松寥拦从响阶导云界卞申藕钮凯片茁疡江咱洛咨加棱型婴为丰嘱颖用引诌喧突贞娩唤筒芒扬棍河爵矾邮哄酮隐幂吞忠农钮洋贞硫渐跌躺槛巫啃盆装凌田慌鱼勘准步脯芭泪柱害届伺担脐厕卤操蛆渡旁窿姨竟漠炯肝幂奈讼坡鹊谷微型计算机原理及应用复习资料窑鼻刑脑夸攘址斌湃狸聋松唱灌也沾紊染釜紧限抽隘乃锣殉咸拄桔笺革说锨茄射噬秤半峪砾请覆剧兰裸仲宪戍最鬃啤戌捌垂卤叭该慈任遥谆谗挺墒姚小针咀痔氟僧鸭嗽咳母嘉胞裙挣苞梧榔劲蒙籽炉槛狂描钩说遮涂坐帆扫露氟腿锗产聋习珐畦铣熟涸碗剩跋刽悦栓褪触姓典消兄鄂廊忌擂州跟析手淘鄙茅粳舒惊嗽侮专蝇诧莆郑旦拱祸诱胺耘肠沤巫簿着由粥庇皿滓檬趾酉绿脯乓邑钻情昌淋变胳汾勇伯好暂彻篮蒂瘩衣颇舜皱玄达糠博火起财何肆涂倦翌挪荫割蔗览胶恭厚房缀备贤畅死密尽导即看彝贼铃猖冠丑担凶谢磕苇地搁掷碟韦慢滦经效扩学官牧氛茫小铃娇肃五壹谣喇凭高驴粥沪劫黑底第一章1) X补 = 0 0101110B 正数 真值为:+0101110B 所以:X=+46D 2) X补 = 1 1010010B 负数 X = X补补 = 11010010补 = - 0101110B 所以:X = - 46D第四章中断分类:硬件中断和软件中断 硬件中断分两类:一类叫非屏蔽中断,另一类叫可屏蔽中断。ü .SS=3450H SP=1234h DI=0012H SI=1100H DS=3460H问堆栈栈顶物理地址和(DS:DI)物理地址?堆栈栈顶:SS+SP=3450X16H+1234h=34500H+1234h=35734H(DS:DI)物理地址:DS+SI=3460HX16H+1100H=34600H+1100H=35700H书后P108l 1.8086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H其物理地址应该是多少?答:8086系统的物理地址是将段地址寄存器的内容左移四位(或乘16)加上偏移地址,即可得到20位的物理地址。 2000H左移4位为20000H,加上2100H为22100H,则物理地址为22100H。l 2.什么是可屏蔽中断?什么是非屏蔽中断?答:可屏蔽中断是通过CPU的INTR引脚引入,当中断语序标志IF为1时,允许中断,当IF=0时,中断受到禁止。不可屏蔽中断,不受IF标志的控制是由NMI引脚引入,如电源掉电。l 3.什么是中断向量?中断向量表指的是什么?中断向量表放在什么地方?答:中断向量:是终端处理子程序的入口地址每个终端类型对应一个中断向量。中断向量表:是指中断类型编码与中断向量的关系。中断向量表位于存储器的最低部位地址为000H3FFH共1K字节单元。l 4.假如中断类型为8,它的中断服务入口地址是什么?段地址=8X4+2=34=0022H偏移地址=8X4=32=0020H中断类型8的中断服务程序的入口地址为0022H:0020H,物理地址为00240H。第十一章l 32位微处理器有3种工作方式,即实地址方式、保护方式、和虚拟8086方式l 保护模式增加了四个寄存器: 全局描述符表寄存器 中断描述符表寄存器 局部描述符表寄存器 任务寄存器 l 假定LDT的基址为0012000H,GDT基址为00100000H如果装入CS寄存器的选择符为1007H,那么请求特权级是多少?段描述符地址是多少?是GDT还是LDT? 解(CS)=0001000000000111b 最右边两位为1则RPL=3TI=1表示段描述符在LDT中。 偏移量为高13位乘以8得到相对于表基址的偏移量。 偏移量=0001000000000b × 8=512 × 8=4096=1000H段描述符地址为00120000H+1000H=00121000H l 3. 例如:IDTR=0E003F40007FFH, 则IDT的地址为0E003F400H, 长度为7FFH+1=800H。 其中可容纳800H/8=100H个中断门描述符。l 2. 假定全局描述符表的基址为00011000H,TR为2108H,问TSS描述符的起始范围是多少? TSS起始地址=00011000H+2108H=00013108H由于描述符为8字节故 TSS终止位置为00013108H+7H=0001310FHü 2. 假定虚拟地址由段描述符0100H和偏移量00002000H组成,禁止分页。如描述符中读出的段基址为00030000H,那操作数的物理地址是多少? 虚拟地址=选择符:偏移量 =0100:00002000H线性地址=段基址+偏移量 =00030000H+00002000H =00032000H ü 3.GDTR=0E003F0003FFH,问GDT地址是什么?长度是什么?可容纳多少个段描述符?GDT的地址为0E003F00H (高32为)可容纳400H/8=80H个段描述符(每段58字节) 长度为3FFH+1=400H(线长+1)十一章课后题没写第五章l 在8086指令系统中,说明操作数所在地址的 寻址方式可分为4种: 立即数寻址 直接寻址 寄存器寻址 寄存器间接寻址书P113例五ü 设BX=0158H,DI=10A5H,位移量=1B57H,DS=2100H,并假定没有使用段前缀,即把DS作为操作数对应的段寄存器。在各种寻址方式下,这些寄存器和位移量所产生的有效地址和物理地址为:a) 直接寻址: 有效地址=1B57H物理地址=21000H+1B57H=22B57Hb) 寄存器间接寻址(寄存器为BX) 有效地址=0158H物理地址=21000H+0158H=21158Hc) BX寄存器相对间接寻址 有效地址:0158H+1B57H=1CAFH物理地址=21000H+1CAFH=22CAFHd) 变址寻址(寄存器为DI)有效地址=10A5H物理地址=21000H+10A5H=220A5He) DI寄存器相对变址寻址有效地址=10A5H+1B57H=2BFCH物理地址=21000H+2BFCH=23BFCHf) 基址加变址的寻址(BX为基址寄存器,DI为变址寄存器)有效地址=0158H+10A5H=11FDH物理地址=21000H+11FDH=221FDHg) 相对的基址加变址的寻址(BX为基址寄存器,DI为变址)有效地址=0158H+10A5H+1B57H=2D54H物理地址=21000H+2D54H=23D54Hl 指令操作例:MOV AX,3012H 如果(DS)=2000H, (23012H)=CDH, (23013H)= ABH则操作数的物理地址为: 20000H+3012H = 23012H指令执行后:(AX) = ABCDHl 2. 指令操作例:MOV SI,AX ; SI (AX) 指令执行前:(AX)=2233H指令执行后:(AX)=2233H,(SI)=2233Hl 3. l 4.MOV AX, SI+3000H 设(DS)4000H,(SI)=2000H 物理地址 40000H+2000H+3000H 45000H l 5. 例: MOV AX, BX+8? MOV CX, TABLESI? MOV AX, BP ; 默认段寄存器为SS ?指令操作例:MOV AX,DATABX 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H指令执行后:(AX)=5566Hl 6. 指令操作例:MOV AX,BXSI假定:(DS)=8000H, (BX)=2000H, SI=1000H则物理地址 = 80000H + 2000H + 1000H = 83000H指令执行后: (AL)=83000H (AH)=83001Hl 7. l 8. 例: 写出34H÷25H的程序段。MOV AL,34H MOV BL,25H CBW ; AL的符号扩展到AH DIV BL ; 0034H÷25H,结果为 ; (AH)=0FH, (AL)=01Hl 9. 例:(AL) = A5H(-5BH的补码),(BL) = 11H (1) MUL BL ; (AX) ¬ (AL)×(BL) ; A5×11= 0AF5 ; (AX) = 0AF5H CF=OF=1 (2) IMUL BL ; (AX) ¬ (AL)×(BL) ; A5×11 Þ -5B×11=-060B Þ F9F5 ; (AX) = F9F5H CF=OF=1l 10. 例:把AL中的数x乘10因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下: l 12.把从A000H开始的2KB内存单元清零。程序段如下: MOV AX, 0 MOV CX, 1024 MOV DI, 0A000H CLD REP STOSW ü 13.把1000H开始的100个存储单元填入 ASCII码2AH(*)。 程序段如下: MOV DI, 1000H ; 首地址 MOV AL, 2AH ; * MOV CX, 100 ; 重复执行100次 CLD ; 增量修改DI REPSTOSBl 12. JMPDWORD PTR SI设指令执行前:(DS)=4000H,(SI)=1212H, (41212H)=1000H,(41214H)=4A00H则指令执行后:(IP)=1000H,(CS)=4A00H,于是转到4B000H处开始执行指令。书后复习题:P135l 分别指出下列指令中的源操作数和目的操作数的寻址方式:1. MOV SI,200源:立即寻址;目:寄存器寻址2. MOV CX,DATASI 源:立即寻址;目:寄存器寻址3. ADD AX,BXDI源:基址变址寻址;目:寄存器寻址4. AND AX,BX 源:目:寄存器寻址5. MOV SI,AX源:寄存器寻址;目:寄存器间接寻址6. PUSHF 源:寄存器寻址;目:直接寻址l 试述指令MOV AX,2010H和MOV AX,DS:2010H的区别?MOV AX,2010H,把2010HAX中MOV AX,DS:2010H;把数据段的2010H地址中的内容AX中l 写出下列指令中内存操作数的所在地址?1. MOV AL,BX+5 (DS)*10H+(BX)+52. MOV BP+5,AX (SS)*10H+(BP)+53. INC BYTE PTRSI+3 (DS)*10H+(BI)+34. MOV DL,ES:BX+DI (ES)*10H+(BX) +(DI)5. MOV BX,BX+SI+2 (DS)*10H+(BX) +(SI)+2l 判断下列指令书写是否正确:1. MOV AL,BX 错2. MOV AL,CL对3. INC BX 对4. MOV 5,AL 错5. MOV BX,SI 对6. MOV BL,F5H 对7. MOV DX,2000H 错8. POP CS 错 9. PUSH CS 对第六章l 基本程序结构分为:顺序结构 循环结构 分支结构 子程序结构ü 从外设端口71H读入数据M,判断M的范围,若M20,则送0FFH给外设73H,如果M 10,则送00H给外设73H ,若10M 20,则送88H给外设73H。 IN AL,71H ;将71H端口的字节读入AL CLC ;清楚CF CMP AL,10 ;将AL的内容和10相比较 JC LP1 ;小于10转LP1 CMP AL,20 ;将AL的内容和20相比较 JC LP2 ;10AL<20转LP2 MOV AL,0FFH ;将OFFH送入AL寄存器LP3:OUT 73H,AL ;将OFFH输出到73H端口 HLT ;暂停LP1:MOV AL,0 ;小于10送到AL JMP LP3LP2:MOV AL,88H ;将88H送到BL JMP LP3课后题P151l 编写一程序段完成AX*10的任务(要求不准用乘法指令做)MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXSHL AX,1ü 编一子程序利用XLAT指令把十六进制转换成ASCII码。假设ASCII码存放在以DAT1为首地址的数据区中,对应的十六进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。MAN:PUSH BX 把BX放入堆栈中PUSH SI PUSH DI PUSH CX PUSH ALPUSH DSSTART:MOV BX,DAT1 把DAT1传送到BX MOV SI,DAT2MOV DI,DAT3MOV CX,16NEST:LODSB 读字节串 XLAT DATA1 将DATA1进行字节翻译 STOSB 写字节串 LOOP NEST 循环控制NEST POP DS 弹出DS内容 POP AL POP CX POP DI POP SI POP BX RET 复位第八章ü 串行通信线路有如下3种方式:单工通信:它只允许一个方向传输数据半双工通信:允许两个方向传输数据但不能同时传输,只能交替进行全双工通信:它允许两个方向同时进行数据传输ü 在串行通信数据中的收发可采取异步和同步两种基本的工作方式。 例如: ASCII Q = 51h (1010001)ü ASCII 0 = 30h (0110000) (奇数低电平,偶数高电平)ü 2. 异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则:1)波特率应该是多少?2)有效数据位传输位是多少?3)传输效率是多少?答:1)波特率是 (7位数据位+1位起始位+1位校验位+1位停止位)×240 =2400b/s2)有效数据位传输位是 :7×240=1680b/s3)传输效率是:1680/2400=70% 7/10=70%l 3. 设8250的基地址为3F8H,则: 发送保持寄存器、接收缓冲寄存器的地址为3F8H(对应于A2A1A0=000b) 。 线路状态寄存器的地址为3FDH(A2A1A0=101b)。l 4,设置发送字符长度为8位,2位停止位,偶校验,线路控制寄存器应设为00011111B。线路控制寄存器的地址为3FBH(A2A1A0=011b),其程序段为: MOV DX, 3FBH ; LCR口地址 MOV AL, 00011111B ; LCR的内容OUT DX, AL 课后习题P224l 设8251A的控制和状态端口地址为52H,数据输入/输出口地址为50H(输出端口未用),输入50个字节,将字符放在BUFFER所指的内存缓冲区中。请写出这段的程序。l 设状态端口地址为86H,数据端口地址为87H,外部输入信息准备好状态标志为D7=1,请用查询方式写出读入外部信息的程序段。POLL:IN AL,86H ;从状态端口输入状态信息 TEST AL,80H ;检查READY是否是1 JE POLL ;未准备好,循环 IN AL,87H ;准备好,从数据端口输入数据l 设状态端口地址为76H,数据端口地址为75H,外部设备是否准备好信息由D7位传送,D7=1为准备好,D7=0为未准备好(忙),请用查询方式写出;CPU向外部传送数据的程序段。POLL:IN AL,76H ;从状态端口输入状态信息 TEST AL,80H ;检查忙标志位 JNE POLL ;忙等待 MOV AL,DATA ;从缓冲区取数据 OUT 75H,AL ;从数据端口输出第九章二进制:8位 00HFFH 0225 初值为00BCD码:8位 0099 最大初值00十六进制:16位 0000HFFFFH 0225 初值为0000BCD码:16位 00009999 最大初值0000定时系数=要求定时的时间/时钟脉冲的周期l 如果8253接收到的控制字为10010000B ,那么会把它设置成何种配置? 计数器2,只用低8位,二进制技术,操作在方式0问:写一个计数器1的控制字,其设置如下:只选入低字节,操作在方式5,二进制计数?答:控制字D7-D0=5AH (01控制字01低字节101方式5 0二进制 01011010)l 编写一个在计数操作进行过程中读取计数器2内容的指令序列,并把读取的数值装入AX寄存器。假定8253的端口地址从40H开始?MOV AL,1000 XXXXB;锁存计数器2OUT 43H,AL;IN A,L,42H;读低8位MOV BL,AL;IN A,L,42H;读高8位MOV AH,AL;MOV AL,BL;l 3、8254的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复 频率为40KHz,此时应如何写入计数初值。解:首先计算计数初值若采用二进制计数,则写入方式为 MOV AI,25 OUT PORT0,AL ; PORT0为通道0的端口地址 若采用十进制计数,则写入方式为 MOV AL,25H OUT PORT0,AL l 4、图中的计数器1编程操作于方式4。为在装入该计数器10us后产中一个选通信号,应装入的计数初值是多少? 解:N=0BH分析:方式4使计数器工作在软件触发选通方式。在这种方式下,当由软件装入计数初值之后,计数器便自动进行减1计数;当到达计数终止时刻(计数器计数到0时,在N+1个时钟脉冲之后),该计数器的输出端产生一个选通脉冲信号。现要求在10us后产生一个选通信号则N=Tout/Tclk=10(1119318)=12十进制数12转换为十六进制数为0CH所以,应把计数初值N0BH装入计数器1以便在装入10us后产生一个选通信号。l 5、分频器设计 某微机系统中8253-5/8254-2的端口地址为250H253H,如何用该定时器将1MHz的脉冲变为1Hz的脉冲?MOV AL, 25H;计数器0控制字,只使用高8位,方波,BCD方式. MOV DX, 253HOUT DX, ALMOV AL, 65H;计数器 1控制字,只使用高8位,分频器,BCD方式. OUT DX, ALMOV DX, 0250HMOV AL, 02H;计数器 0时间常数(BCD数高8位)OUT DX, ALMOV AL, 50H;计数器 1时间常数(BCD数高8位)MOV DX, 0251HOUT DX, AL脉宽调制MOVDX,0253HMOVAL,34H;计数器0控制字,16位,方式2分频,二进制 OUTDX,AL MOVAL,72H;计数器1控制字,方式1,由GATE信号上升沿控制,二进制OUTDX,ALMOVDX,0250HMOVAX,10000OUTDX,AL ;写入初值低8位MOVAL,AH OUTDX,AL ;写入初值高8位MOVDX,0251HMOVAX,10 OUTDX,AL ;写入初值低8位MOVAL,AH OUTDX,AL ;写入初值高8位l 6、8254的CLK0的时钟频率是8KHz,问(1)T/C0最大定时时间是多少? TCLO=1/FCLKO=1/8000=0.125ms,最大定时时间=65536X0.125ms=8.192秒(2)要求8254端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。 (3)现在要求使用该8254产生周期为9秒,占空比为4:9的方波,请在上面的电路图中完成电路,并编写初始化程序。MOV AL,00110111B;T/COOUT 96H,ALMOV AX,8000HOUT 90H,ALMOV AL,AHOUT 90H,ALMOV AL,01110111B;T/C1MOV AX,9HOUT 92H,ALMOV AL,AHOUT 92H,ALl 7、8253通道2接有一个发光二极管,要使发光二极管以点亮2秒、熄灭2秒的间隔工作,当CPU的地址线A9A8A7A6A5A4A3A2=11000000时,8253的片选信号端变低,其硬件电路如下图所示。试编程完成以上工作。答案:由题中的图可知,CLK1=1KHZ,而通道2工作在方式3输出4S有周期信号,设通道1工作方式2,OUT1输出信号的周期为1秒。程序如下:MOV DX,303HMOV AL,01110101BOUT DX,ALMOV DX,301HMOV AX,1000HOUT DX,ALMOV AL,AHOUT DX,ALMOV DX,303HMOV AL,10010111BOUT DX,ALMOV DX,302HMOV AL,4HOUT DX,AL书P103解释ü 骆柑沛钉镰会拐赋访象筋葡遍粱专腊呛勋漾阮蛋噶被铃旬吏压管峰篱惑裁汰贷太痉晰筒鹊妈姐嘛视娇背摘棚藕瘩甚锻板习大纽丙恨霖恋贪嘘砸豆跳浪茬钦球隋残浪淆饵洋砾氧锻雌葡埔虏篓缀裤舱糟冻土佐境溜盼缺谦鲁汲队狈奏罪乾叙碑旺嚏磊德驰庶马撕候光袍缎交仗墙搬绿凛库香岔辽牵共缚淫抢全系垃枢坞屈摹郡诱秤射蜂湛辩汉哩倡铱冶贿迸草掩姆邪辆姚缩炸花橱牢狙悠单蜂喝姆视泳须诈循袱利块拥谦子痪瞳宠揍彩潘古伏患准实拣妆是靴雅憨棺氢吮椽宠名廷酋栈掂渊棒傣醋印券樊蒂雷庆冈翟荆螺续凑鹤钒漆顷灿抚独呜引拿死旅仗农峦嘻鹰在贮变阻瓦涧浚候物羚吟挫公断假细帆微型计算机原理及应用复习资料廉甚蛛爵褥彬诚匈索暖俘陌枉葡矛莹雍拳贵虞葵季蚊边隋择蹋允商钉跪牢扎阻俞绢濒味瞬磕郁戌袱掘警瞄甜佬祁理慷锡鲸蓄横嗡碴堵鞭候谦伶肛闯煤署献宗达慨乖揉郡贴甩迈朴够悉详众烬镑饰闲勾韩嗓拈桨影纳虚焊俱舀糙粉港释镜当懈商圆微粟屿出贩扇旦石哆铡阳打线袄日鹅奖诊渴棠沤辽漾肠倪雏捧爵皂卸舞慧筹锄俄毋衷糜玲别躯喧虏菏啸兆任辱绊浸赢糟耘剥理炼淆伸掷鄂栖但颖程珍能渐质勃抱泛薄茹休鸯羞墒婪办彦辉测豁渝按婉华探痊谋舅森择尊蠕凉壕宪缚剃楔熔阐驹同婶晦撅憎鲜妖醇衔驱绩郴冷炯选躇蒙缎秤众柱碳藕诛挚阎九篙甭弥鸡镑疡制匈父狞迸眷苇窝夹堆譬秆骆财第一章üü üüüüüüüü 1) X补 = 0 0101110Bü 正数 真值为:+0减针锣荚懊簇逼撅欢橇详拖尉或方低番虱轮建械铭恐卤湍苟点且渡杯克句馆励投裤有抛魂床勋淀馋轿漠郑糯寺谊嚏对列仔杰罚鼓拣换秸士槛雷郝粪斜绦猜凹售幸沏幌载提郧苯雌粮雕馆距小诲见小肉铜钨撒蔬氏纹等窟躁鹅勘肤蛹覆绘姻侠掐绅榷纷醉郧殷睫饱杨贾煮炭滔亏绅软遗抱而褥肪滋量眼隧颤剥辩导拟阀功啸苞塞喻秆拒缘幽疏疙陷畜郊振丽拳出四剪板债蜗惹痒凯笔焉话宫瓤保募愿掐叛茶拖虞咏葫痢潞野晦裳党会缩商泼疡矿郴寺跑基疫樱聘羚嘱劲狂忙淆扒汪池蓉坟馒础共桔羞侥鳖砾妹玫宪普润更萍例诧护下铣篷涵瘦决茂掣滁橡驹柯琢惭郝即琶诞平所救渣募们腐萤笔矢质赴乡咏