微型计算机原理及应用复习资料共20_第1页
微型计算机原理及应用复习资料共20_第2页
微型计算机原理及应用复习资料共20_第3页
微型计算机原理及应用复习资料共20_第4页
微型计算机原理及应用复习资料共20_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1页第一章1)X补二0 0101110B正数真值为:+0101110B所以:X=+46D2)X补=11010010B负数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+110

2、0H=35700H书后P1081.8086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H其物理地址应该是多少?答:8086系统的物理地址是将段地址寄存器的内容左移四位(或乘16)加上偏移地址,即可得到20位的物理地址。2000H左移4位为第2页20000H加上2100H为22100H则物理地址为22100H2什么是可屏蔽中断?什么是非屏蔽中断?答:可屏蔽中断是通过CPU勺INTR引脚引入,当中断语序标志IF为1时,允许中断,当IF=O时,中断受到禁止。不可屏蔽中断,不受IF标志的控制是由NMI引脚引入,如电源掉电。3.什么是中断向量?中断向量表指的是什么?中断向量表放在什

3、么地方?答:中断向量:是终端处理子程序的入口地址每个终端类型对应一个 中断向量。中断向量表:是指中断类型编码与中断向量的关系。中断向量表位于存储器的最低部位地址为000H3FFH共1K字节单元。4.假如中断类型为8,它的中断服务入口地址是什么?段地址=8X4+2=34=0022H偏移地址=8X4=32=0020H中断类型8的中断服务程序的入口地址为0022H 0020H,物理地址为00240H。第十一章32位微处理器有3种工作方式,即实地址方式、保护方式、和虚拟8086方式保护模式增加了四个寄存器:全局描述符表寄存器GDTR中断描述符表寄存器IDTR局部描述符表寄存器LDTR任务寄存器TR _

4、第3页假定LDT的基址为0012000HGDT基址为00100000H如果装入CS寄存器的选择符为1007H那么请求特权级是多少?段描述符地 址是多少?是GDI是LDT?解(CS =0001000000000111b最右边两位为1则RPL=3TI=1表示段描述符在LDT中。偏移量为高13位乘以8得到相对于表基址的偏移量。偏移量=0001000000000bX8=512X8=4096=1000H段描述符地址为00120000H+1000H=00121000H3.例如:IDTR=0E003F40007FFH,则IDT的地址为0E003F400H,长度为7FFH+1=800H。其中可容纳800H/8

5、=100H个中断门描述符。2.假定全局描述符表的基址为00011000H, TR为2108H,问TSS描述符的起始范围是多少?TSS起始地址=00011000H+2108H=00013108H由于描述符为8字节故TSS终止位置为00013108H+7H=0001310FH2.假定虚拟地址由段描述符0100H和偏移量00002000H组成,禁止分页。如描述符中读出的段基址为00030000H,那操作数的物理地址是多少? 虚拟地址=选择符:偏移量第4页线性地址=段基址+偏移量=00030000H+00002000H=00032000H3.GDTR=0E003F0003FFH问GDT地址是什么?长度

6、是什么?可容纳多少个段描述符?GDT的地址为0E003F00H(高32为)可容纳400H/8=80H个段描述符(每段58字节) 长度为3FFH+1=400(线长+1)十一章课后题没写第五章在8086指令系统中,说明操作数所在地址的寻址方式可分为4种:立即数寻址直接寻址寄存器寻址寄存器间接寻址书P113例五设BX=0158H DI=10A5H位移量=1B57H,DS=2100H并假定没有使用段前缀,即把DS作为操作数对应的段寄存器。在各种寻址方式下,这些寄存器和位移量所产生的有效地址和物理地址为:=0100:00002000H第5页a)直接寻址: 有效地址=1B57H物理地址=21000H+1B

7、57H=22B57Hb)寄存器间接寻址(寄存器为BX) 有效地址=0158H第6页物理地址=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=1仆DH物理地址=21000H+11FDH

8、=221FDHg)相对的基址加变址的寻址(BX为基址寄存器,DI为变址)有效地址=0158H+10A5H+1B57H=2D54H物理地址=21000H+2D54H=23D54H指令操作例:MOAX 3012H如果(DS)=2000H, (23012H)二CDH,(23013H)二ABH则操作数的物理地址为:指令执行后:(AX) = ABCDH2.指令操作例:MOV SI,AX ; SI (AX)20000H+3012H = 23012H代码段卜据j段第7页指令执行前:(AX)=2233H第8页指令执行后:(AX)=2233H, (SI)=2233H指令操作例:MOV AX. SI若(DS=60

9、00H, (SD=1200H,(61200H)=44H.(6120111)=3311AX, SI+3000H设(DS)=4000H,(SI)=2000H物理地址 =40000H+2000H+3000H=45000H5.例: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 = 63A00HDS6000SI1200600Q0+)

10、1 2006120061200H指令执行后,存储器MH33HAX(AX)=3344H.第9页指令执行后:(A =5566H第10页6.指令操作例:MOV AX BXSI假定:(DS)=8000H, (BX)=2000H, SI=1000H则物理地址=80000H + 2000H + 1000H = 83000H指令执行后:(AL)二83000H (AH)二83001H7. ADD指令对6个状态标志均产生影响。例:已知(BX)-E75FH,指令ADD BX, 8046H执行后, 状态标志各是多少?E75FH= 11100111 0101 11118046H = 10 0 0 0000 0 1 0

11、 0 0 1 1 01 1111 10110 I) 1 1 1 1010 0 10 1结果:CF=1,ZF=O. PF=1,AF=1?OF=1,SF=()7.例:写出34H- 25H的程序段。MOV AL 34HMOV BL,25HCBW; AL的符号扩展到AHDIV BL ; 0034H-25H,结果为;(AH)=0FH, (AL)=01H第11页8.例:(AL) = A5H(-5BH的补码),(BL) = 11H(1) MUL BL ; (AX)(AL) X(BL)X11= 0AF5;(AX) = 0AF5H CF=0F=1(2) IMUL BL ; (AX)(AL)X(BL);A5X11

12、二-5BX1仁-060B二F9F5;(AX) = F9F5H CF=OF=110.例:把AL中的数x乘10因为10=8+2=Z+21,所以可用移位实现乘10操作。程序如下:12.把从A000H开始的2KB内存单元清零。程序段如下:MOV AX, 0MOV CX, 1024MOV DI, 0A000HCLDREP STOSW13.把1000H开始的100个存储单元填入ASCII码2AH(*)。程序段如下:MOV DI, 1000H;首地址MOV AL, 2AH ;A5第12页MOV CX, 100;重复执行100次CLD;增量修改DIREP STOSB12. JMP DWORD PTR SI设指

13、令执行前:(DS)=4000H,(SI)=1212H,(41212H)=1000H,(41214H)=4A00H第13页则指令执行后: (IP)=1000H,(CS)=4A00H, 于是转到4B000H处开始 执行指令。书后复习题:P135分别指出下列指令中的源操作数和目的操作数的寻址方式:1. MOV SI,200源:立即寻址;目:寄存器寻址2. MOV CX,DATASI源:立即寻址;目:寄存器寻址3. ADD AX,BXDI源:基址变址寻址;目:寄存器寻址4. AND AX,BX源:目:寄存器寻址5. MOV SI,AX源:寄存器寻址;目:寄存器间接寻址6. PUSHF源:寄存器寻址;目

14、:直接寻址试述指令MOV AX,2019f和MOV AX,DS:2019H的区别?MOV AX,2019H把2019HRAX中MOV AX,DS:2019H;把数据段的2019H地址中的内容AX中写出下列指令中内存操作数的所在地址?判断下列指令书写是否正确:1. MOV AL,BX错2. MOV AL,CL寸1. MOV AL,BX+52. MOV BP+5,AX3.INC BYTE PTRSI+34. MOV DL,ES:BX+DI5. MOV BX,BX+SI+2DS)*10H+(BX)+5SS)*10H+(BP)+5DS)*10H+(BI)+3ES)*10H+(BX) +(DI)DS)*

15、10H+(BX) +(SI)+2第14页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对第六章基本程序结构分为:顺序结构 循环结构 分支结构 子程序结 构从外设端口71H读入数据M判断M的范围,若M支0,则送0FFH给外设73H,如果MV10,则送00H给外设73H,若10MV20,则送88H给外设73HoIN AL,71H;将71H端口的字节读入AL第15页JMP LP3LP2: MOV AL,88H;将88H送到BLJMP LP3课后题P151编写一程序段完成AX*1

16、0的任务(要求不准用乘法指令做)MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXSHL AX,1编一子程序利用XLAT指令把十六进制转换成ASCII码。假设ASCII码存放在以DAT1为首地址的数据区中,对应的十六进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区 中。CLCCMP AL,10JC LP1CMP AL,20JC LP2MOV ALLP3:OUT 73H,AL;清楚CF;将AL的内容和10相比较;小于10转LP1;将AL的内容和20相比较;10AL20转LP2,0FFH;将OFFH送入AL寄存器LP1:MOV AL,0;将OFFH输

17、出到73H端口;暂停;小于10送到AL第16页MAN:PUSH BX把BX放入堆栈中PUSH SIPUSH DIPUSH CXPUSH ALPUSH DSSTART:MOV BXQAT1把DAT1传送到BXMOV SI,DAT2第17页MOV DI,DAT3MOV CX,16NEST:LODSB读字节串XLAT DATA1将DATA进行字节翻译STOSB写字节串LOOP NEST循环控制NESTPOP DS弹出DS内容POP ALPOP CXPOP DIPOP SIPOP BXRET复位第八章串行通信线路有如下3种方式:单工通信:它只允许一个方向传输数据半双工通信:允许两个方向传输数据但不能同

18、时传输,只能交替进行 全双工通信:它允许两个方向同时进行数据传输在串行通信数据中的收发可采取异步和同步两种基本的工作方 式。?例如: ASCIIQ= 51h (1010001)ASCII0= 30h (0110000)(奇数低电平,偶数高电平)2.异步传输7位ASCII码, 如果需要数据传输速率为240字符/秒, 使用1位第18页奇偶校验位和1位停止位,则:1)波特率应该是多少?2)有效数据位传输位是多少?3)传输效率是多少?答:1)波特率是(7位数据位+1位起始位+1位校验位+1位停止位)X240 =2400b/s2)有效数据位传输位是 :7X240=1680b/s3)传输效率是:1680/

19、2400=70% 7/10=70%3.设8250的基地址为3F8H贝心-发送保持寄存器、接收缓冲寄存器的地址为3F8H(对应于A2A1A0=000)b。-线路状态寄存器的地址为3FDH(A2A1A0=101b。4, 设置发送字符长度为8位,2位停止位, 偶校验, 线路控制寄 存器 应 设 为00011111B。 线路 控制寄 存 器的 地 址 为3FBH(A2A 1 A0= 0 1 1 b) ,其程序段为:MOV DX, 3FBH; LCR口地址MOV AL, 00011111B ; LCR的内容OUT DX, AL课后习题P224设8251A的控制和状态端口地址为52H数据输入/输出口地址为

20、50H(输出端口未用),输入50个字节,将字符放在BUFFER所指的内存缓冲区中。请写出这段的程序。第19页设状态端口地址为86H数据端口地址为87H,外部输入信息准备 好状态标志为D7=1,请用查询方式写出读入外部信息的程序段。POLL:IN AL,86H ;从状态端口输入状态信息TEST AL,80H;检杳READY是否是1JE POLL;未准备好,循环IN AL,87H;准备好,从数据端口输入数据设状态端口地址为76H, 数据端口地址为75H,外部设备是否准备好信息由D7位传送,D7=1为准备好,D7=0为未准备好(忙),请用查询方式写出;CPU向外部传送数据的程序段。从状态端口输入状态

21、信息;检查忙标志位;忙等待从缓冲区取数据从数据端口输出 第九章 二进制:8位00HFFH0225初值为00BCD码:8位0099最大初值00十六进制:16位0000HFFFFH 0225初值为0000BCD码:16位00009999最大初值0000定时系数=要求定时的时间/时钟脉冲的周期如果8253接收到的控制字为10010000B,那么会把它设置成何POLL:IN AL,76HTEST AL,80H JNEPOLL MOVAL,DATA OUT75H,AL第20页种配置?计数器2,只用低8位,二进制技术,操作在方式0问:写一个计数器1的控制字,其设置如下:只选入低字节,操作在方式5,二进制计

22、数?答:控制字D7-D0=5AH(01控制字01低字节101方式5 0二进制01011010)编写一个在计数操作进行过程中读取计数器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;3、8254的通道0按方式3工作,时钟CLK0的频率为1MHz要求输出方波的重复 频率为40KHz此时应如何写入计数初值。解:首先计算计数初值 若采用二进制计数,则写入方式为MOV Al, 25

23、OUT PORT0,AL;PORT0为通道0的端口地址若米用十进制计数,则与入方式为TOUT。=1 fuT0=1 40KHzTCLK0=1lfCLK 0=1 1MHZ第15页TOUTO1MHz CLn =25TCLK O40 KHz第22页MOV AL 25HOUT PORTO,AL4、图中的计数器1编程操作于方式4。为在装入该计数器10us后产中一个选通信号,应装入的计数初值是多少?解:N=0BH分析:方式4使计数器工作在软件触发选通方式。在这种方式下,当 由软件装入计数初值之后,计数器便自动进行减1计数;当到达计数 终止时刻(计数器计数到0时,在N+1个时钟脉冲之后),该计数器的 输出端产

24、生一个选通脉冲信号。现要求在10us后产生一个选通信号则N=Tout/Tclk=10/(1/1.19318)=12十进制数12转换为十六进制数为0CH所以, 应把计数初值N= 0BH装入计数器1以便在装入10us后产生一个选通信号。5、分频器设计某微机系统中8253-5/8254-2的端口地址为250H-253H,如何OUT DX, AL用该定时器将1MHZ的脉冲变为1Hz的脉冲?MOV0%!25HA0-MOV DX, 253H地址译码-MOVDRALAL65H;(计数器A0A1CSRD;计数器C0K控:制字,只使用高8位,方波,BCD方式.OUT0GATE0CLK1OUT1GATE11Hz第23页MOV DX, 0250HMOV AL, 02H;计数器0时间常数(BCD数高8位)OUT DX, ALMOV AL, 50H;计数器1时间常数(BCD数高8位)MOVDX, 0251HOUTDX, AL脉宽调制MOVDX,0253HMOVAL,34H;计数器0控制字,16位,方式2分频,二进制OUTDX,ALMOVAL,72H;计数器1控制字,方式1,由GATE言号上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论