您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 【2019年整理】微型计算机原理及应用复习资料
第一章1)[X]补=00101110B正数真值为:+0101110B所以:X=+46D2)[X]补=11010010B负数X=[[X]补]补=[11010010]补=-0101110B所以:X=-46D第四章中断分类:硬件中断和软件中断硬件中断分两类:一类叫非屏蔽中断,另一类叫可屏蔽中断。.SS=3450HSP=1234hDI=0012HSI=1100HDS=3460H问堆栈栈顶物理地址和(DS:DI)物理地址?堆栈栈顶:SS+SP=3450X16H+1234h=34500H+1234h=35734H(DS:DI)物理地址:DS+SI=3460HX16H+1100H=34600H+1100H=35700H书后P1081.8086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H其物理地址应该是多少?答:8086系统的物理地址是将段地址寄存器的内容左移四位(或乘16)加上偏移地址,即可得到20位的物理地址。2000H左移4位为20000H,加上2100H为22100H,则物理地址为22100H。2.什么是可屏蔽中断?什么是非屏蔽中断?答:可屏蔽中断是通过CPU的INTR引脚引入,当中断语序标志IF为1时,允许中断,当IF=0时,中断受到禁止。不可屏蔽中断,不受IF标志的控制是由NMI引脚引入,如电源掉电。3.什么是中断向量?中断向量表指的是什么?中断向量表放在什么地方?答:中断向量:是终端处理子程序的入口地址每个终端类型对应一个中断向量。中断向量表:是指中断类型编码与中断向量的关系。中断向量表位于存储器的最低部位地址为000H~3FFH共1K字节单元。4.假如中断类型为8,它的中断服务入口地址是什么?段地址=8X4+2=34=0022H偏移地址=8X4=32=0020H中断类型8的中断服务程序的入口地址为0022H:0020H,物理地址为00240H。第十一章32位微处理器有3种工作方式,即实地址方式、保护方式、和虚拟8086方式保护模式增加了四个寄存器:全局描述符表寄存器GDTR中断描述符表寄存器IDTR局部描述符表寄存器LDTR任务寄存器TR假定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=00121000H3.例如:IDTR=0E003F40007FFH,则IDT的地址为0E003F400H,长度为7FFH+1=800H。其中可容纳800H/8=100H个中断门描述符。2.假定全局描述符表的基址为00011000H,TR为2108H,问TSS描述符的起始范围是多少?TSS起始地址=00011000H+2108H=00013108H由于描述符为8字节故TSS终止位置为00013108H+7H=0001310FH2.假定虚拟地址由段描述符0100H和偏移量00002000H组成,禁止分页。如描述符中读出的段基址为00030000H,那操作数的物理地址是多少?虚拟地址=选择符:偏移量=0100:00002000H线性地址=段基址+偏移量=00030000H+00002000H=00032000H3.GDTR=0E003F0003FFH,问GDT地址是什么?长度是什么?可容纳多少个段描述符?GDT的地址为0E003F00H(高32为)可容纳400H/8=80H个段描述符(每段58字节)长度为3FFH+1=400H(线长+1)十一章课后题没写~第五章在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=23D54H指令操作例:MOVAX,[3012H]如果(DS)=2000H,(23012H)=CDH,(23013H)=ABH则操作数的物理地址为:20000H+3012H=23012H指令执行后:(AX)=ABCDH2.指令操作例:MOVSI,AX;SI(AX)指令执行前:(AX)=2233H指令执行后:(AX)=2233H,(SI)=2233H3.4.MOVAX,[SI+3000H]设(DS)=4000H,(SI)=2000H物理地址=40000H+2000H+3000H=45000H5.例:MOVAX,[BX+8]?MOVCX,TABLE[SI]?MOVAX,[BP];默认段寄存器为SS?指令操作例:MOVAX,DATA[BX]若(DS)=6000H,(BX)=1000H,DATA=2A00H,(63A00H)=66H,(63A01H)=55H则物理地址=60000H+1000H+2A00H=63A00H指令执行后:(AX)=5566H6.指令操作例:MOVAX,[BX][SI]假定:(DS)=8000H,(BX)=2000H,SI=1000H则物理地址=80000H+2000H+1000H=83000H指令执行后:(AL)=[83000H](AH)=[83001H]7.8.例:写出34H÷25H的程序段。MOVAL,34HMOVBL,25HCBW;AL的符号扩展到AHDIVBL;0034H÷25H,结果为;(AH)=0FH,(AL)=01H9.例:(AL)=A5H(-5BH的补码),(BL)=11H(1)MULBL;(AX)(AL)×(BL);A5×11=0AF5;(AX)=0AF5HCF=OF=1(2)IMULBL;(AX)(AL)×(BL);A5×11-5B×11=-060BF9F5;(AX)=F9F5HCF=OF=110.例:把AL中的数x乘10因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下:12.把从A000H开始的2KB内存单元清零。程序段如下:MOVAX,0MOVCX,1024MOVDI,0A000HCLDREPSTOSW13.把1000H开始的100个存储单元填入ASCII码2AH(*)。程序段如下:MOVDI,1000H;首地址MOVAL,2AH;‘*’MOVCX,100;重复执行100次CLD;增量修改DIREPSTOSB12.JMPDWORDPTR[SI]设指令执行前:(DS)=4000H,(SI)=1212H,(41212H)=1000H,(41214H)=4A00H则指令执行后:(IP)=1000H,(CS)=4A00H,于是转到4B000H处开始执行指令。书后复习题:P135分别指出下列指令中的源操作数和目的操作数的寻址方式:1.MOVSI,200源:立即寻址;目:寄存器寻址2.MOVCX,DATA[SI]源:立即寻址;目:寄存器寻址3.ADDAX,[BX][DI]源:基址变址寻址;目:寄存器寻址4.ANDAX,BX源:目:寄存器寻址5.MOV[SI],AX源:寄存器寻址;目:寄存器间接寻址6.PUSHF源:寄存器寻址;目:直接寻址试述指令MOVAX,2010H和MOVAX,DS:[2010H]的区别?MOVAX,2010H,把2010H→AX中MOVAX,DS:[2010H];把数据段的2010H地址中的内容→AX中写出下列指令中内存操作数的所在地址?1.MOVAL,[BX+5](DS)*10H+(BX)+52.MOV[BP+5],AX(SS)*10H+(BP)+53.INCBYTEPTR[SI+3](DS)*10H+(BI)+34.MOVDL,ES:[BX+DI](ES)*10H+(BX)+(DI)5.MOVBX,[BX+SI+2](DS)*10H+(BX)+(SI)+2判断下列指令书写是否正确:1.MOVAL,BX错2.MOVAL,CL对3.INC[BX]对4.MOV5,AL错5.MOV[BX],[SI]对6.MOVBL,F5H对7.MOVDX,2000H错8.POPCS错9.PUSHCS对第六章基本程序结构分为:顺序结构循环结构分支结构子程序结构从外设端口71H读入数据M,判断M的范围,若M≥20,则送0FFH给外设73H,如果M<10,则送00H给外设73H,若10≤M<20,则送88H给外设73H。INAL,71H;将71H端口的字节读入ALCLC;清楚CFCMPAL,10;将AL的内容和10相比较JCLP1;小于10转LP1CMPAL,20;将AL的内容和20相比较JCLP2;10≤AL20转LP2MOVAL,0FFH;将OFFH送入AL寄存器LP3:OUT73H,AL;将OFFH输出到73H端口HLT;暂停LP1:MOVAL,0;小于10送到ALJMPLP3LP2:MOVAL,88H;将88H送到BLJMPLP3课后题P151编写一程序段完成AX*10的任务(要求不准用乘法指令做)MOVBX,AXMOVCL,2SHLAX,CLADDAX,BXSHLAX,1编一子程序利用XLAT指令把十六进制转换成ASCII码。假设ASCII码存放在以DAT1为首地址的数据区中,对应的十六进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。MAN:PUSHBX把BX放入堆栈中PUSHSIPUSHDIPUSHCXPUSHALPUSHDSSTART:MOVBX,DAT1把DAT1传送到BXMOVSI,DAT2MOVDI,DAT3MOVCX,16NEST:LODSB读字节串XLATDATA1将DATA1进行字节翻译STOSB写字节串LOOPNEST循环控制NESTPOPDS弹出DS内容POPALPOPCXPOPDIPOPSIPOPBXRET复位第八章串行通信线路有如下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%3.设8250的基地址为3F8H,则:–发送
本文标题:【2019年整理】微型计算机原理及应用复习资料
链接地址:https://www.777doc.com/doc-1962662 .html