微机原理上机实验教程_第1页
微机原理上机实验教程_第2页
微机原理上机实验教程_第3页
微机原理上机实验教程_第4页
微机原理上机实验教程_第5页
已阅读5页,还剩228页未读 继续免费阅读

下载本文档

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

文档简介

西安唐都科教仪器开发有限责任公司,2010(C),西安唐都科教仪器开发有限责任公司,2010(C),AllRight基于IA-架构的微机系统原理及应用实验©目录版权声 第一部 IA-目录版权声 第一部 IA- 架构的微机系统及应用教学平台介 第1章平台构成及特 第二部 80X86微机指令系统及汇编程序设 2实模式下的80X86机器组 316位微机原理及其程序设计实 32位指令及其程序设计实 44.2.3实验内容及步 第三部 常用微机系统应4.2.3实验内容及步 第三部 常用微机系统应用接口扩展实 定时/计数器应用实 中断控制实 567串行设备接口技 8并行设备接口技 第四部 80X86保护模式下的微机系统原理及应 第9章保护模式下的80X86机器组 9.3.1综 10保护模式微机原理及其程序设计实 10.2.4任务内有特权级变换的转移实 10.2.4任务内有特权级变换的转移实 10.4中断与异常处理实 11虚拟存储器的组织及其管 11.1分段管理机 11.2分页管理机 12保护模式下的存储器扩展及其应用实 12.1保护模式下的存储器扩展实 附录ATddebug集成操作软件使用说 附录BTdpit集成操作软件使用说 附录C系统实验程序清 第一部IA-架构1平台构成及特平台构EPC第一部IA-架构1平台构成及特平台构EPCPCIEPCPCIPCI总线设备的配置逻辑实现和中断、DMA控制逻联的PCI总线设备的应用接口逻辑实现部分则开放给用户,以PCI总线应用接口的形式和系统的应用开发板连接,在应用开发板上的大容量FPGA中实现。SOPC或FPGA验教学更为灵活。平台系统的具体构成如表1-1-1所示。1-1-1基本教学实验平台的构1主要设备或配件主要设备或配件从EPCPCI32/8位系统应用扩展总基于CycloneEP1C6SOPC微机系统原理及应用实验教程(电子版1-1-1平台的系统结构示意21-1-1平台的系统结构示意2PCI总线桥接卡转换为了一组总线应用接口给应用开发板使用,信号定义如图1-2-所示。1-2-1PCI总线应用接口定义3PCI总线桥接卡转换为了一组总线应用接口给应用开发板使用,信号定义如图1-2-所示。1-2-1PCI总线应用接口定义3读写信号CLK_82558255DMA_S:PCIDMAPCIPCI2DMA写空间为256字节,而存储器读写的空间为2M4应用开一、应用开发板使用说1-3-1JP1接口引脚分配5应用开一、应用开发板使用说1-3-1JP1接口引脚分配51-3-2JP2接口引脚分配61-3-2JP2接口引脚分配6表1-3-应用开发板引脚7FPGA引功备FPGA引功备123456和共78和共表1-3-应用开发板引脚7FPGA引功备FPGA引功备123456和共78和共和共续表1-3-应用开发板引脚对应关8FPGA引功备FPGA引功备和共和共系统时8255_A7DMA_S8255_A68254_OUT08255_A58254_CLK0续表1-3-应用开发板引脚对应关8FPGA引功备FPGA引功备和共和共系统时8255_A7DMA_S8255_A68254_OUT08255_A58254_CLK08255_A48255_A3SCL8255_A2SDA8255_A18251_TXD续表1-3-应用开发板引脚对应关应用开发板将+12V5V、3.3V、1.5VFPGA提供工作电压。应用开发为了进行SOPC的开发,应用开发板上提供了两片SRAM和一片FLASH存储器。SRAMISSIIS61LV25616AL-10T256K×Byte进行操作。SRAM1-3-3所示,SRAM地址总线的9FPGA引功备FPGA引功备8255_A08255_B5CS78255_C78255_B4CS6续表1-3-应用开发板引脚对应关应用开发板将+12V5V、3.3V、1.5VFPGA提供工作电压。应用开发为了进行SOPC的开发,应用开发板上提供了两片SRAM和一片FLASH存储器。SRAMISSIIS61LV25616AL-10T256K×Byte进行操作。SRAM1-3-3所示,SRAM地址总线的9FPGA引功备FPGA引功备8255_A08255_B5CS78255_C78255_B4CS68255_C68255_B38255_C58255_B28255_B18255_C38255_B08255_C28255_C18255_C08255_B7系统复8255_B6SRAM地址总线信SRAM数据总线信SRAM(U2)FPGA引SRAM(U3)FPGA引SRAM(U2)FPGA引SRAM(U3)FPGA引SRAM地址总线信SRAM数据总线信SRAM(U2)FPGA引SRAM(U3)FPGA引SRAM(U2)FPGA引SRAM(U3)FPGA引1-3-4SRAM控制信Flash存储器的引脚如图1-3-4所示,FLASH数据总线的分配如表1-3-5所示,FLASH地址总线的分配如表1-3-6所示,FLASH控制信号的分配如表1-3-7所示数据总线信地址总线信1-3-7FLASH控制信FLASHFPGA引FLASHFPGA引FLASHFPGA引FLASHFPGA引1-3-4SRAM控制信Flash存储器的引脚如图1-3-4所示,FLASH数据总线的分配如表1-3-5所示,FLASH地址总线的分配如表1-3-6所示,FLASH控制信号的分配如表1-3-7所示数据总线信地址总线信1-3-7FLASH控制信FLASHFPGA引FLASHFPGA引FLASHFPGA引FLASHFPGA引FLASHFPGA引FLASHFPGA引DQ15/A-SRAM(U2)FPGA引SRAM(U3)FPGA引为8Bit模式,DQ15变成了A-1。IS61LV25616AL-1-3-3SRAM存储器引脚二、出厂时应用开发板中提供的FPGA逻辑构成说明AM29LV160DT-1-3-4Flash存储器引脚图1-3-复用总线分离地1 7283945为8Bit模式,DQ15变成了A-1。IS61LV25616AL-1-3-3SRAM存储器引脚二、出厂时应用开发板中提供的FPGA逻辑构成说明AM29LV160DT-1-3-4Flash存储器引脚图1-3-复用总线分离地1 72839456 8765432191-3-6superI/O逻辑结构过低位地址A5~A7作为译码信号,共分配了6个片选:CS0(3000~301F)8255CS1(3020~303F)是作为串口8251核的片选,307F)是作为I2C总线控制器的片选,和PCI3250线是用于应用开发板上的高速存储器的。如图1-3-7所示。 ncs7 inst223:8 1-3-6superI/O逻辑结构过低位地址A5~A7作为译码信号,共分配了6个片选:CS0(3000~301F)8255CS1(3020~303F)是作为串口8251核的片选,307F)是作为I2C总线控制器的片选,和PCI3250线是用于应用开发板上的高速存储器的。如图1-3-7所示。 ncs7 inst223:8 sy ExtSyncD 1-3-7总线概况RD,WR:I/O读写信号CLK_1M:输出1MHZ的时钟信号CLK_50:输出50MHZ的时钟信号C0~31FC1~33FCS2(1-3-7总线概况RD,WR:I/O读写信号CLK_1M:输出1MHZ的时钟信号CLK_50:输出50MHZ的时钟信号C0~31FC1~33FCS2(3040~305F(3060~307F:I2C32位高速总线主要用于控制应用开发板上的高速存储器,信号为DMA_S:PCIDMA实验扩展板介统应用实验的主要操作平台。实验平台结构如图1-4-1所示。1-4-1实验扩展板结构系统总线单元电80x868位接口总线,以及从应用开发板引上自行搭建电路,与其相连可完成相应的实验。系统引出信号线说明见表1-4-1。实验扩展板介统应用实验的主要操作平台。实验平台结构如图1-4-1所示。1-4-1实验扩展板结构系统总线单元电80x868位接口总线,以及从应用开发板引上自行搭建电路,与其相连可完成相应的实验。系统引出信号线说明见表1-4-1。1-4-180X86微机系统信号线说时钟源单说说系统数据线(输入/输出82540系统地址线(输出中断请求信号(输入I2C总线引I/O读、写信号(输出I/O片选8255A,B,CI/O片选扬声器单1-4-2扬声器单键盘扫描及数码管显示1-4-34个共阴极数码管、4×4键盘扫描阵列及1-4-3键盘扫描及数码管显示实验单元电逻辑开关及LED显示单灯显示逻辑电平高低,为正逻辑,输入高电平LED点亮。如图1-4-4所示。扬声器单1-4-2扬声器单键盘扫描及数码管显示1-4-34个共阴极数码管、4×4键盘扫描阵列及1-4-3键盘扫描及数码管显示实验单元电逻辑开关及LED显示单灯显示逻辑电平高低,为正逻辑,输入高电平LED点亮。如图1-4-4所示。1-4-4逻辑开关及LED显示单元电路单次脉冲3846图1-4-单次脉冲单元电5123123123123 21-4-4逻辑开关及LED显示单元电路单次脉冲3846图1-4-单次脉冲单元电5123123123123 2第二部微机指令系统及汇第二部微机指令系统及汇编程序2实模式下的80X86机器组8086/808880286、80386、80486、80586Pentium及Core28038680X86机。80X8680X86328086/80888086/808880X8680X8680X8632只有系统程序才会使用各种寄存器。这些寄存器是80X86系统微处理器先前处理器部16位寄存器。8086/8088没有系统地址寄存器和控制寄存器等。1ESP、EBP、ESIEDI161-1-1。这些通SP、BP、SI和DI,它们也就是X86系列微处理器先前的8个16位通用寄存器。ESP、EBP、ESIEDI161-1-1。这些通SP、BP、SI和DI,它们也就是X86系列微处理器先前的8个16位通用寄存器。[EBX+ESI+1]AL,BX、BP、SIDI2CSSSDSES处理器中对应段寄存器的功能相同。FS和GS是80X86新增加的段寄存器。因此,80X86上运行的程序可同时访问多达6个段。FS,AXAX,FS:80X8632EIP。EIP161664K,所以EIP160,仍然相当于只有低16位的IP起作用。4:IOIOPLNT、重启动标志RF、虚拟8086方式标志VM。它们分别是:IOIOPL(I/OPrivilegeLevel)12、13,按特权级从高到低取值:0,1,2和3。只有当前特权级CPL在数值上小于或等于IOPL,I/O指令才可以执行。TaskFlagMode3286以上4个控制标志位在实模式下不起作用,从80386开始的32位处理器都有。还有4标志位CD,后三个只对Pentium有效。32位标志寄存器的内容如图2-1-2所示。3211817161413121110876543210图2-1-3240211817161413121110876543210图2-1-324000000000000180X86储器80X86储器1664K。段寄存器内所含的是段基地16加上段内偏移。所以,80X86在实模式下与8086/8088相似。BPEBPESPSS。某些字符串ESCS、SS、ES、FSGS存储器寻址方80X861632位偏移的存储器寻址1、2、4832832位的常数偏移量。如果含存器的选择,包括没有基址寄存器的情况,DS仍然是默认的段寄存器。580X86支持的“基地址+变址+位移量”寻址方式能进一步满足各高级语言支持的数据结680X86支持的“基地址+变址+位移量”寻址方式能进一步满足各高级语言支持的数据结680X8680X868086/8088、801868028680X86是32位处理器80X8680X868086/8088、801868028680X86是32位处理器其指令的操作数长度可以是816位或者是32对于80X8632,80X8632I/O80X861.80X86的通用传送指令组含有如下十条指令:数值传送指令MOV、符号扩展指令MOVSXMOVZXXCHGPUSH、PUSHA、PUSHAD、退栈指令POP、POPA、POPAD。SRCDST,SRC816816操作数都是字,那么就相当于MOV指令。7即数。从80X86开始,操作数长度还可以达32位,那么堆栈指针减4。BX、SP、BP、SI、DISP16SPPUSHAESP16EDX、EBX、ESP、EBP、ESI、EDI,然后堆栈指针寄存器ESP的值减32,所以ESP进栈的内容是PUSHAD执行之前的值。POPAD指令从堆栈弹出内容以PUSHAD相反的顺序送到这些通用寄存器,从而恢复PUSHADSP322.85OPRD45OPRD46个相继字节单元的内容送16OPRD32位指针。如果目的操作数是32位通用寄存器,那么源操作数OPRD含48位指针。如:3.和POPFD。32PUSHFPOPFXLAT8086/808880X86开始存放基值的寄指令以BX为存放基值的寄存器。1.SBB、DEC、CMPNEG。但在80X86329EAX,DWORDPTR EAX,DWORDPTR 2.4MUL、DIV、IMUL和IDIVMULDIV8086/8088相同。在源操作数为双字的情况下,乘法指令MUL默认的另一个操作数是EAX,其功能是把OF0,1;DIVEDX:EAX,其功能是把指令中给出的操作数作为除数,所得的商送EAX,余数送EDX。当操作数为32位时,它与无符号数乘法指令相同。DSTSRCSRC1SRC2DST80X864CBW、CWD、CWDECDQ是指令CBW的扩展。1.NOT、AND、OR、XOR1.NOT、AND、OR、XORTEST5328086/80883:SAL/SHL、SARSHRSAL移指令SHL是相同的。达增强了。实际移位位数的变化范围是0至31。80X86ROLROR中规定的移位位数的低5位,再根据被移位的操作数的长度取9、17或32位的模。 OPRD2OPRD116存器或者是32位通用寄存器;m是移位位数,或者是8位立即数,或者是CL。SHLDOPRD1mOPRD2mOPRD2CF中。如果只移1位,当进位标志和最后的符号位不一致是,置溢出标志OF,否则清OF。SHRDOPRD1mOPRD2mOPRD2CF中。当移位位数是1时,OF标志受影响,否则清OF。1.无条件转移指令JMP在分为段内直接、段内间接、段间直接和段间间接四类的同时,还32无条件转移指令JMP在分为段内直接、段内间接、段间直接和段间间接四类的同时,还32不需要使用32位的段内偏移。80X86(JCXZJECXZ)允许用多字节来表示转移目的地3LOOP、LOOPZ/LOOPELOOPNZ/LOOPNE。这三条循扩展到CALL为0的双字,这样会压入堆栈2个双字。过程返回指令RET在分为段内返回和段间返回的同时,还分别具有扩展形式。扩展的过堆栈弹出包含48位返回地址全指针的2个双字。在实模式下,段内过程调用指令和返回指令RET的非扩展形式,它们与8086/8088CALLRET1.4DF=142.4DF=142.实模式下通常采用16位指针,所以一般仍以CX作为计数器。3.DXES:DI(EDI)所指4.内容为1或0。1.1.OPRD1OPRD216321632单元;但操作数OPRD1和OPRD2的位数长度必须相等。的位的位号送到操作数OPRD1。的位的位号送到操作数OPRD1。否则零标志ZF被清0。2.OPRD116321632处理器控制指1.CFCLC、STC和CMC设置方向标志DF的指令CLD和STD保持原先相同。3位微机原理及其程序设计实序的设计方法,同时掌握集成操作软件Tdpit的使用。显示程3位微机原理及其程序设计实序的设计方法,同时掌握集成操作软件Tdpit的使用。显示程掌握部分DOS功能调用使用方法。实验内容及说DOS功能调用完成一些提示信息的显示。通过本实验,初步掌握实验系统配套操作软件的使入口入口(4)返回DOS系统实验程序清单(SEGMENTDW256SEGMENT'Pressany'Showaaskeytoexit!',0AH,0DH,0AH,0DH,'$'ySEGMENTASSUMEMOV(4)返回DOS系统实验程序清单(SEGMENTDW256SEGMENT'Pressany'Showaaskeytoexit!',0AH,0DH,0AH,0DH,'$'ySEGMENTASSUMEMOV;显示退出提;显示字符y;取高4;是否是A以上的显示程序实验参;显示字;取低4;显示字;判断是否有按键按;(为观察运行结果,使程序有控制的退出nn;结束程序退INT21HCODEEND;结束程序退INT21HCODEEND3-1-2设置语言环默认名为Td-pit1。如图3-1-3所示。3-1-3新建空白文3-1-4程序编辑界(5)点击3-1-5编译连接输出信3-1-5编译连接输出信3.2数据传送3.2.2实验设实验程序清单(3.2数据传送3.2.2实验设实验程序清单(EQU$-MSREXDADBLENDW20DUP(?)MYSTACKENDSCODESTART:MOVAX,DDATAMOVDS,AXMOVES,AXMOVSI,OFFSETMSRMOVDI,OFFSETMSDMOVCX,LENNEXT:MOVAL,[SI]MOVES:[DI],ALINCSIINCDIDECCX;设置;设置PUSHKEY:MOVCODEENDPUSHKEY:MOVCODEENDMOVMOVCX,LENNEXT:MOVAL,MSR[BX]INCBXLOOP3-2-1进入调试环如图3-2-2所示。可以在Dump数据区看到DS数据段中MSR源数据串-"HELLO,WORLD!$"。如图3-2-3所示。3-2-3DS源数据段数3-2-3DS源数据段数3-2-2根据DS值查看数据址,用同样的方法可以查看ES:0000的数据。如图3-2-4所示。3-2-4根据ES值查看附加数据(5)ESESDSES串MSD已经被写入了数据串-"HELLO,WORLD!$"。如图3-2-5所示。3-2-5根据ES值查看附加数据3.3数码转换程序实验内容及说ASCIIBCDCPUASCII计算机与外设间的数码对应关系如表3-3-1所示。数码转换关系如图3-3-1所示。二进二进二进3-3-1计算机与外设间的数码转换关3-3-1数码转换对应关BCDASCⅡ共阳七段码03.3数码转换程序实验内容及说ASCIIBCDCPUASCII计算机与外设间的数码对应关系如表3-3-1所示。数码转换关系如图3-3-1所示。二进二进二进3-3-1计算机与外设间的数码转换关3-3-1数码转换对应关BCDASCⅡ共阳七段码0123456位显段多段显BCD打印光电CRT显1.将ASCII上式可以转换为:∑Di×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn10加次位结果按位显示在屏幕上。转换过程的参考流程如图3-3-2所示。实验参考程序如下:SEGMENTSTACKDW256DUP(?)确定转换数的位数CX1.将ASCII上式可以转换为:∑Di×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn10加次位结果按位显示在屏幕上。转换过程的参考流程如图3-3-2所示。实验参考程序如下:SEGMENTSTACKDW256DUP(?)确定转换数的位数CX=N-'Theasciicodeofdecimalcodeare:$'10H取第一位ASCII减乘以CODEASSUME加下一位ASCII码减n转换完否y图3-3-2十进制ASCII转换为二进制数参考流送屏幕显789ABCDEFINCSIDECSIMOVAH,1INT16HJZWAIT1INCSIDECSIMOVAH,1INT16HJZWAIT1;是否是A;show;showCODEEND2.将十进制数的ASCII码转换为BCD本实验要求将键盘输入的一个五位十进制数的ASCBCD码后并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASCⅡ码,则FF”。提示:一字节ASCⅡ码取其低四位即变BCD码。转换部分的实验流程参3-3-3。SEGMENTSTACKDW256DUP(?)'TheBCDcodeofdecimal10HCODESTART:MOVDI,OFFSETBUF;比较AL0~9ASCII确定转换数的位数CX=BL=取是否0-9的ASCII码ynBL=ASCII-CALLSTART:MOVDI,OFFSETBUF;比较AL0~9ASCII确定转换数的位数CX=BL=取是否0-9的ASCII码ynBL=ASCII-CALL保存BL到相应n转换完否yMOVAH,1INT16HJZWAIT1图3-3-十进制ASCII转换为BCD码数参考流SHOWPROC;是否是A;show;show送屏幕显 CODEENDSEND3.将十六进制数的ASCII码转换为十进制ND=D4×104+D3×103+D2×102+D1×10+D0 CODEENDSEND3.将十六进制数的ASCII码转换为十进制ND=D4×104+D3×103+D2×102+D1×10+D0 在屏幕上。转换部分的实验流程参见3-3-4。实验参考程序如下:SEGMENTSTACKDW256DUP(?)'Theasciicodeofhexare:$' SI指向存储单元的尾地SI=SI-10HAX除以10,AX=商DX=余CODESI,OFFSETBUFny将十六进制数的ASCII码转换为十进制数参考XCHGSI,OFFSETBUFCALLMOVAH,1INT16HJZWAIT1SHOWPROCSI,OFFSETBUFCALLMOVAH,1INT16HJZWAIT1SHOWPROC;是否是A;show;showCODEEND4.BCD本实验要求将四个二位十进制数的BCD码存放在某一内存单元中,转换出的二进制数码STACK1SEGMENTSTACK1ENDS'TheBCDcodeofbinaryare:$'10HCODEASSUME取数的个乘以取数的十位,与个位相保存到相应单'TheBCDcodeofbinaryare:$'10HCODEASSUME取数的个乘以取数的十位,与个位相保存到相应单将指针指向下一n转换完否yBCD码转换LOOPMOVAH,1INT16HJZWAIT1PROCNEAR 送屏幕显SHOWPROCSHOWPROC;是否是A;show;showCODEEND3.4运算类编程实验内容及说3-4-1数据类型算3.4运算类编程实验内容及说3-4-1数据类型算术运算1.二进制双精度加法址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1CF180386用32位寄存器和32位加法指令完成本实验的功能。实验程序参考如下。STACK1SEGMENTSTACK1ENDSDATA'TheresultBCD+、-字节(二位数字字节(一位数字DATAENDSASSUMEMOVDATAENDSASSUMEMOVINT16HJZWAIT1PROCSHOWPROC;是否是A;show;showCODEENDSEND2.十进制数的BCD码减法运X-Y=Z,其中,X、Y、ZCODEENDSEND2.十进制数的BCD码减法运X-Y=Z,其中,X、Y、ZBCDX=0400H,Y=0102H。实SEGMENTSTACKDW256DUP(?)'Theresultis:$'DW0400HDWYDATAENDSASSUMEMOVDS,AXMOVAH,00HMOVSI,OFFSETXMOVAL,[SI]INCSIMOVAL,[SI]MOVAH,1INT16HJZWAIT1PROC;是否是A;是否是AJBC3;show;showEND3.乘法运为54320H,乘数为3H,运算结束后,将乘积在屏幕上显示。实验程序参考如下。SEGMENTSTACKDW256DUP(?)DB'Theresultis:$'DB'Errorexist!$'DB03HDB06HDATAENDSASSUMESTART:SI,OFFSETWAIT1:MOVINTJZERROR:SHOWPROC;是否是A;show;show CODEENDS4.用减奇数开平方 CODEENDS4.用减奇数开平方SS1,3,5,7…,一直S0040HSEGMENTSTACKDW256DUP(?)'Thesquarerootof$''is:$'ASSUMECS:START:WAIT1:MOVINT16HJZWAIT1PROCSHOWPROCINT16HJZWAIT1PROCSHOWPROC;是否是A;show;showEND3.5分支程序设计实验内容及说所示。本y满条件满足条件满足n语句序语句序AL<3-5-1分支结构示意y和最小值,且在程序的初始,将BH3.5分支程序设计实验内容及说所示。本y满条件满足条件满足n语句序语句序AL<3-5-1分支结构示意y和最小值,且在程序的初始,将BH和BL初始化为首比较,若取出的字节内容比BH的内容大或比BL中的AL>yCX=y图3-5-分支程序实验流结CX=CX-nnn语句序yCX=字节SEGMENTSTACKDW256DUP(?)MES1DBNUMBDB'ThenumberSEGMENTSTACKDW256DUP(?)MES1DBNUMBDB'ThenumberDB0AH,0DH,'Thelargestnumberis:$'CODEASSUMESTART:JCXZLOOPCODE3.6循环程序设计实验内容及说SEGMENTSTACKDW256DUP(?)'Thenumber3.6循环程序设计实验内容及说SEGMENTSTACKDW256DUP(?)'Thenumberofnegativeis:$'CODEASSUMEn条件满足START:循环条件满足nINCBLINC3-6-1循环结构示意LOOPy循y循WAIT1:CODEEND运行3.7子程序设计实验内容及步procedurenamePROCprocedurename3.7子程序设计实验内容及步procedurenamePROCprocedurenameAttributeNEARFAR,调用程序和过程在同一个代码段中使用NEAR属性,不在同一个代码段中,使用FAR。1.数据移动3-7-1源数据块和目标数据块在存储器中的位置示源数据目标数据SEGMENTSTACKDW256DUP(?)DB'Thedatainbuf2are:',0AH,0DH,'$'20HDUP(0)SEGMENTSTACKDW256DUP(?)DB'Thedatainbuf2are:',0AH,0DH,'$'20HDUP(0)CODEASSUMESI,OFFSETBUF1DI,OFFSETBUF2SI,OFFSETCALLLOOPA4MOVAH,1INT16HJZWAIT1;是否是A;show;showEND(1)运行Tdpit集成操作软件,根据实验要求编写程序。在数据段声明16字节的数据:2.处理I/O设备与CPU之间的通信。在汇编语言程序设计中使用系统功能调用程序,只需要通过MOV指令,将中断参数装到INT的一段程序,则需要修改对应中断的中断处理程序入口。微机系统中可以使用0-255共25680x86000H3FFH系统用或保系统用或保3-7-2中断向量47HSEGMENTSTACKDW256DUP(?)DW?DWDBDWDB'Thedatainbuf1are:',0AH,0DH,'$'PROCFARMOVDS,AXMOVAX,0MOVES,AXMOVDI,4*47HMOVIPBAK,AXMOVAX,ES:[DI]MOVCSBAK,AXMOVAH,09HINTMOVSI,OFFSET;保存原有;保存原有;显示BUF1CS地IP移CS地IP移INT47HMOVAX,0MOVES,AXMOVDI,4*47HMOVAX,IPBAK;返回INT47HMOVAX,0MOVES,AXMOVDI,4*47HMOVAX,IPBAK;返回PUSHAXPUSHDX;自定义显示中断,入口参数为;是否是ACODEEND432在实模式下,80X86相当于一个可进行32位处理的快速8086;在实模式下为80X8632长度仍是64K。4.180X86及程432在实模式下,80X86相当于一个可进行32位处理的快速8086;在实模式下为80X8632长度仍是64K。4.180X86及程序在缺省情况下,MASMTASM8086/808880X8680X86在实模式下,80X868086/808864K,这样段 等伪指令指示处理器类型80X86后,缺省的属性类型是USE32;如果没有指示处理器类型80X86,那么缺省的属性类型是USE16。 SEGMENT 例如定义一个16 SEGMENT 的存储单元地址,这是利用操作数长度前缀66H和存储器地址长度前缀67H来表示的。的存储单元地址,这是利用操作数长度前缀66H和存储器地址长度前缀67H来表示的。66H161667H321666H32163216163267H;3216加上前缀67H。32实验内容及步32实验内容及步SEGMENT DATASEGMENTMES1DB'Thearrayis:$'MES2DB'Aftersort:$'CODESTART:MOVDX,OFFSETWAIT1:MOVINT16HJZWAIT1WAIT1:MOVINT16HJZWAIT1PROC;是否是APROCCODEENDSPROCCODEENDS3232Thisistangduspeaking!”进行SEGMENT 'Thisistangdu 'Showthissentenceas DATACODESTART:MOVCODESTART:MOV;Show"Thisistangdu;ShowSentenceasINT16HPROC MOVZXEDI,DISI,OFFSETBUF;使用GS;是否是ABYTEPTRGS:[ESI],24H;在串尾加上$PROCBYTEPTRGS:[ESI],24H;在串尾加上$PROCCODEENDS运行Tdpit第三部 常用微机系统应用接口扩展实第三部 常用微机系统应用接口扩展实58254定时/计数器应用动‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘58254计数应用实验原性能。8254具有以下基本功能:2MHz(5)8254(8253,除了可以读出当前计数单元的内容外,还可以读KfT、KT个计数器组成。8254的工作方式如下述:123456789(5)8254(8253,除了可以读出当前计数单元的内容外,还可以读KfT、KT个计数器组成。8254的工作方式如下述:123456789寄存图5-1-的内部接8254的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来如表5-1-1—5-1-3所示。5-1-18254方式控制字格5-1-28254出控制字格内部总11计数器选择(同方式控制字08计数器计数器计数器逻辑电5-1-38254格IPsuperI/O8254IP05-1-2FPGA8254原理图,这里的CLK-50是50M的系统驱动时钟。8图5-1-8254IP核单元图5-1-为IP核与80X86系统应用总线内部连接图,其中片选(ncs2)计数器方式(同方式控制字5-1-38254格IPsuperI/O8254IP05-1-2FPGA8254原理图,这里的CLK-50是50M的系统驱动时钟。8图5-1-8254IP核单元图5-1-为IP核与80X86系统应用总线内部连接图,其中片选(ncs2)计数器方式(同方式控制字5-1-38254线内部连接CLK0,OUT0IR1KK1+5符“55-1-48254用实验接线实验程序清单(T8254- 5-1-38254线内部连接CLK0,OUT0IR1KK1+5符“55-1-48254用实验接线实验程序清单(T8254- STACK1ENDSDATADATA???'COUNT:CODEASSUME;替换IRQ10;设置中断屏蔽寄存器,打开IRQ10;保存IRQ10;恢复IRQ10MYISR;返回到;中断处理程序PUSHMYISR;返回到;中断处理程序PUSHCODEENDS8254计数初值=输入时钟÷输出频率个单位时间,将这个值送入DL中,调用DALLY子程序即可。DALLYMOVCX,200HDECAXJNZD2DALLY;N个单位延DALLYMOVCX,200HDECAXJNZD2DALLY;N个单位延(NDL)DALLYPROCMOVCX,200HDECAXJNZD2DECDLJNZD0DALLY表5-1-( 开初始化8254工作方开初始化8254工作方是是否到曲末否5-1-5实验参考流程5-1-6电子发声单元电路(15-1-7装入频率表和时间表起始地5-1-78254声实验接线实验参考例程STACK1DW256STACK1ENDSDATASEGMENT 5-1-78254声实验接线实验参考例程STACK1DW256STACK1ENDSDATASEGMENT 4,4,2,2,4,42444DATAENDSASSUMEPLAY:SI,OFFSETFREQ_LISTDI,OFFSETTIME_LIST1.0416667MHz,1.0416667M;取出频率值计算计数初值,0F4240HCALLCALLLOOPEND68259中断控制实68259中断控制实实验1.中断控制器82598259Intel8259864级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)CPU8259引脚如图6-1-1所示。82597个,一类是初始化命令字,另一类是操作命令。8259的编程就是根ICW1-ICW4OCW1-OCW3寄存器组和操作命令寄存器组。ICW1-ICW46-1-2,OCW1-OCW3询方式以及设置对8259内部寄存器的读出命令。在硬件系统中,8259A0不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1-1所示。D7-123456789读/写电 级联缓冲/比较 6-1-18259内部结构和引脚 D3=1:电平触6-1-2(a)ICW1格中断询方式以及设置对8259内部寄存器的读出命令。在硬件系统中,8259A0不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1-1所示。D7-123456789读/写电 级联缓冲/比较 6-1-18259内部结构和引脚 D3=1:电平触6-1-2(a)ICW1格中断类型号的高58086/8088不使6-1-2(b)ICW2格主从不可6-1-2(c)ICW3格00000018086/8088不使 特征无中断屏蔽寄存器操作命寄存器初始命令存器中断请求寄存优先级分析中断服务寄存6-1-2(d)ICW4格0R00一般中断结束命特殊循环优先权的一般在自动EOI下置循环优先自动循在自动EOI下复位循环优先循环优先权的特殊EOI命设置优先特殊循无0X:无0X:无10:复位特殊屏11:设置特殊屏0:不查1:允许查询10:可读11:可读6-1-3OCW命令字格6-1-2(d)ICW4格0R00一般中断结束命特殊循环优先权的一般在自动EOI下置循环优先自动循在自动EOI下复位循环优先循环优先权的特殊EOI命设置优先特殊循无0X:无0X:无10:复位特殊屏11:设置特殊屏0:不查1:允许查询10:可读11:可读6-1-3OCW命令字格6-1-18259寄存器及命令的访问控156-1-28259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。在实验平台上系统总线单元的IR1,IR2信号对应的中断线就是系统8259片操0010读出ISR,IRR101000010000110001×1001××100001P000表6-1-EPC微机系统中的硬件中实验说明及步1.IRQIR1EPCIRQ10IR1,EPC所以,使用IR1中断请求信号,就相当在使用PC机内部相应的IRQ10中断。功中断向量82598259表6-1-EPC微机系统中的硬件中实验说明及步1.IRQIR1EPCIRQ10IR1,EPC所以,使用IR1中断请求信号,就相当在使用PC机内部相应的IRQ10中断。功中断向量82598259825982598259825982598259实验平台825982598259实验平台82598259825982598259开是退出程6-1-58259单中断应用实验参考程序流程6-1-68259中断实开是退出程6-1-58259单中断应用实验参考程序流程6-1-68259中断实验接线实验程序清单(T8259-STACK1SEGMENTSTACK1ENDSDATA'Pressany???toCODESTART:MOVAX,DATAMOVMOVAH,09HMOV;替换IRQ10结是否有按键按下否向8259OCW3读出查询是是否IR1请求是否 线否执行IR1处是执行IR2处;设置中断屏蔽寄存器,打开IRQ10;保存IRQ10;设置中断屏蔽寄存器,打开IRQ10;保存IRQ10;恢复IRQ10;返回到MYISR;中断处理程序PUSHCODEENDSEND2图6-1-级联中断实验参开入关中向8259OCW3查询命读出END2图6-1-级联中断实验参开入关中向8259OCW3查询命读出查询是是否IR1请求否执行IR0处是是否IR2请求否执行IR2处是关中向PC内8259发中断结束命开中返回到(a)主程图6-1-结中断返开中否有按键按下 否单 脉 实验程序清单(T8259- 实验程序清单(T8259- STACK1SEGMENTSTACK1ENDSDATA 'PressanykeyDW?DWto?CODEASSUMESTART:DX,OFFSETMES;替换IRQ10;设置中断屏蔽寄存器,打开IRQ10;保存IRQ10;替换IRQ7;设置中断屏蔽寄存器,打开IRQ7;保存IRQ7int10h;替换IRQ7;设置中断屏蔽寄存器,打开IRQ7;保存IRQ7int10h;恢复IRQ10;返回到QUIT2:;恢复IRQ7;返回到MYISR;中断处理程序PUSHAXQUIT2:;恢复IRQ7;返回到MYISR;中断处理程序PUSHAX;中断处理程序calldallycalldallycalldallyPUSHAXMOVDALLYPROCPUSHCXPUSHDALLYPROCPUSHCXPUSH LOOPD1POPPOPCXDALLYCODEEND7串行设备接口技7串行设备接口技掌握I2C串行通讯总线的工作方式及应用。8251实验1.825182515~811个、1.522.825182517-1-1,8251782517-1-228Y图7-1-82512.825182517-1-1,8251782517-1-228Y图7-1-8251图7-1-8251内部总 由8251产发送器输启动数据校验停止7-1-38251作在异步方式下TXD号的数据传输格4.82517-1-48251制7-1-58251令控制字由8251产发送器输启动数据校验停止7-1-38251作在异步方式下TXD号的数据传输格4.82517-1-48251制7-1-58251令控制字格图7-1-6所示。7-1-68251格数据装置当DSR输止位时,该位置1。此标志由命令控制字中的位4溢出错误:在下一个字符变为可用前,CPU没有把字符读走,此标志置当检测到奇偶错误时此位置接收就绪为1表明接收到一个发送就绪为1表明发送缓冲器内部复位=8251返回方式控制请求发送0错误标志复位使错误标1=TXD1=使DTR输出 异步01=110=1.511=200=501=610=711=8同步系统Y异步NY1个同步字符NY复位N完成Y7-1-78251系统Y异步NY1个同步字符NY复位N完成Y7-1-78251始化流程Altera的8251IPsuperI/O8251a7-1-8FPGA8251N8图7-1-8251IP核单元动时钟,CLK_184为1.8432M128251(ncs1)3020H~303FH,TXD,RXDJP27-1-98251线内部连接8图7-1-8251IP核单元动时钟,CLK_184为1.8432M128251(ncs1)3020H~303FH,TXD,RXDJP27-1-98251线内部连接8251实验1.实验参考例程(T8251- DW64DUP(?)DATA8251实验1.实验参考例程(T8251- DW64DUP(?)DATADATADB'Self-CommunicationbyCODEASSUMEDS,AXCALLINITCALLDALLYDX,ALCALLDX,ALCALLCX,AL,37HDX,ALAL,DX,ALDX,INAL,DXJZA2CALLDALLYINAL,DXJZINAL,DXLOOPAL,DX,ALCALLDX,CALLDX,CALLJZINAL,DXLOOPAL,DX,ALCALLDX,CALLDX,CALLDX,ALPUSHPUSHLOOPCODE7-1-10自收自发实验接线2.7-1-11双机通讯实验接线运行(T8251-7-1-11双机通讯实验接线运行(T8251-DW64DUP(?)CODEASSUMECALLINITCALLDALLYAL,DX,ALCALLDX,ALCALL;输出显示字符AL,DXAL,DXDL,ALAL,DX,ALCALLDX,CALLDX,CALLAL,DXDL,ALAL,DX,ALCALLDX,CALLDX,CALLDX,ALPUSHCX,PUSHLOOPCODE(T8251- DW64DUP(?)DB2FHCODEASSUMEMOVAX,DATAMOVDS,AXCALLINITCALLDALLYMOVAL,OUTDX,ALCALLDX,ALCALLAL,CALLSENDCALLDALLYAL,DX,ALCALLDX,CALLCALLDX,ALCALLAL,CALLSENDCALLDALLYAL,DX,ALCALLDX,CALLDX,CALLDX,ALDALLYPROCDALLYINAL,DXJZA3CODEENDI2C串行ENDI2C串行I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C80(1)I2C总线特2510Kbps40I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一I2C总线是由数据线SA和时钟CL构成的串行总线,可发送和接收数据。在U与被控CICC100kbp2C或被控器(或接收I2C示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接目前有很多半导体集成电路上都集成了I2C接口。带有I2C接口的单片机有:CYGNALI2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据变被用来表示起始和停止条件。参见图7-2-1。7-2-1串行总线上的数据变被用来表示起始和停止条件。参见图7-2-1。7-2-1串行总线上的数据传送顺有不同的定义,EEPROM1010),1时为读操作,为0时为写操作。如图7-2-2所示。7-2-2控制字节配关于页面写的地址、应答和数据传送的时序参见图7-2-3。7-2-3页面应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机99SDA7-2-4随机4、AT24C02简介AT24C02ATMELEEPROM256×8SDA路输出,且可以与任何数目的漏极开路或集电极开路输出“线或”(wire-Ored)连接。如图7-2-5所示。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机99SDA7-2-4随机4、AT24C02简介AT24C02ATMELEEPROM256×8SDA路输出,且可以与任何数目的漏极开路或集电极开路输出“线或”(wire-Ored)连接。如图7-2-5所示。图7-2-5AT24C02I2CIPsuperI/OIPI2C图7-2-6为FPGA中的I2C控制器核的原理图。87-2-6I2C制器IP单元I2CCS3+IP核的方式控制字格7-2-1I2C制器IP的方式控制字格7-2-7IP80X86CLK_1M1MACK87-2-6I2C制器IP单元I2CCS3+IP核的方式控制字格7-2-1I2C制器IP的方式控制字格7-2-7IP80X86CLK_1M1MACK7-2-7I2C器与总线内部连接I2C总线7-2-6I2C讯实验接线STACK1SEGMENTSTACK1ENDS7-2-7I2C器与总线内部连接I2C总线7-2-6I2C讯实验接线STACK1SEGMENTSTACK1ENDSCODEASSUMECALLCALLCALLCODEASSUMECALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLCALLINAL,DXMOVCALLCALLCALLINAL,DXMOVBL,ALMOVAL,04HCALLACKINAL,DXMOVMOVAL,04HCALLACKINAL,DXMOVMOVAL,04HCALLACKINAL,DXMOVMOVAL,05HCALLINAL,DXQUIT:MOVINTMOVAL,05HCALLINAL,DXQUIT:MOVINTACKPROCMOVinal,dxjnzl1ACKDONEPROCMOVinal,dxjnzl2DONEDALLYPROCPUSHCXPUSHLOOPD1POPPOPCXDALLYCODEEND8并行设备接口技8并行设备接口技8255A,B内容如下:将键盘进行编号,记作0~F,当按下其中一个按键时,将该按键对应的编号在一码管上可以显示最近4次按下的按键编号。12345数码管数码管数码管数码管数码管数码管678998563412图8-1-键盘及数码管显76421953com176421953com276421953com376421953com476421953com576421953com612345数码管数码管数码管数码管数码管数码管678998563412图8-1-键盘及数码管显76421953com176421953com276421953com376421953com476421953com576421953com6(8???123456789?????(?4?8???(?4?????((8???123456789?????(?4?8???(?4?????(8??图8-1-8255内部结并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之IntelI/OA、B、C+5V源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方制字和C口按位置位/复位控制字格式如图8-1-3所示。0输出1输置位复复置不输输位D3D2D10000100201301410510611711方式选方式方式0输出1输A输输0方式选方式方式1x方式1(a)工作方式控制(b)C口按位置位/复位控制图8-1-8255????本实验平台采用Altera的8255IP核,在应用开发板的superI/O逻辑芯片组中装有8255IPintel8255a8-1-4FPGA8255图,这里的CLK_8255是系统驱动时钟。8888图8-1-8255IP核单元为(ncs0PA0~PA7,PB0~PB7,PC0~PC7JP2本实验平台采用Altera的8255IP核,在应用开发板的superI/O逻辑芯片组中装有8255IPintel8255a8-1-4FPGA8255图,这里的CLK_8255是系统驱动时钟。8888图8-1-8255IP核单元为(ncs0PA0~PA7,PB0~PB7,PC0~PC7JP2FPGA应用开8-1-58255线内部连接1.B,端口A8255运行8-1-68255本输入输出实验接线实验程序清单(T8255-;片选CS0;8255的AFPGA应用开8-1-58255线内部连接1.B,端口A8255运行8-1-68255本输入输出实验接线实验程序清单(T8255-;片选CS0;8255的A JPA02;8255的B;8255的CSTACK1SEGMENTSTACK1ENDSCODEASSUME;8255的B;8255的CSTACK1SEGMENTSTACK1ENDSCODEASSUME;读B;写ACODE2.流水灯显示实验8255ABD3~D0运行8-1-78255水灯实验接线实验程序清单(T8255- STACK1SEGMENTSTACK1ENDSDATASTACK1SEGMENTSTACK1ENDSDATADBDBDATACODEASSUMECALLAABBDALLYPUSHCXPUSHMOVLOOPD1POPPOPCXCODEENDSEND3.运行单LOOPD1POPPOPCXCODEENDSEND3.运行单图8-1-8255键盘扫描及数码管显示实验线路实验程序清单STACK1SEGMENTSTACK1ENDSDTABLE ASSUMESTART:START:;有键按下则跳置;返回到;有键按下则跳置GETKEY2:MOVCOLUM:Y1~Y4,PROC;取出Y1~Y4 CLEARDISPROCPUSH;设置X1~X4;写入数码管DISENDPPUTBUFDISENDPPUTBUFGOBACK:RETPUTBUFENDPDALLYPROCPUSHLOOPCODEENDSENDSTART第四部保护模式下的微第四部保护模式下的微机系统原理及应用9保护模式下的80X86机器组Intel80x8632803868086/8088、8018680286。3232位数据类型、3232位物理地址;支持实模式、保护模式的运行方式。在保护模式下的微处理器可以寻址4GB的物理地址空间,并实模式和保护且段的起始地址必须是16的倍数。管理的概念,使得CPU从硬件上支持了多任务,任务切换提速,任务环境得以保护。寄存器对32位80X86新增寄存器功能作以讲解。系统地址寄存系统地址寄存器只在保护模式下使有四个:GDTR,IDTR,LDTR和TR9-2-100寄存器对32位80X86新增寄存器功能作以讲解。系统地址寄存系统地址寄存器只在保护模式下使有四个:GDTR,IDTR,LDTR和TR9-2-100 0009-2-132理器的系统地址寄存和机制启用的情况下使用。CR2用于发生页面异常时报告出错信息,CR3用于保存页目录表的起始物理地址,由于目录是页对齐的,所以仅高20位有效,低12位保留未用。1643 19-2-232理器的控制寄存000000000000000000000000保页故障线性地页目录表物理页码(20位000000000009-2-1PG/PE处理器的工作方CR00用于标记PE,31PG,一起用于控制分段和分页管理机制,标9-2-1PG/PE处理器的工作方CR00用于标记PE,31PG,一起用于控制分段和分页管理机制,标32832DRnDR0、DR1、DR2、DR3为断点地址寄存器,DR4,DR5保留未用,DR6为调试状态寄存器,DR7调试32位微处理器还含有8个测试寄存器。TR0未定义,TR1,TR2在Pentium中使用。00011011保护模式下的分段存储管综在实模式下,CPU1M,CPU4GB。4GB分构成,所有的虚拟存储器地址构成了虚拟地址空间,且虚拟地址空间可以达到64TB。保护模式下的分段存储管综在实模式下,CPU1M,CPU4GB。4GB分构成,所有的虚拟存储器地址构成了虚拟地址空间,且虚拟地址空间可以达到64TB。线性地址空间来隔离虚拟地址空间和物理地址空间。各空间中地址的转换示意如图9-3-1所 000:偏移线性地虚拟地9-3-1保护模式下的地址转换示意分段管理的概地址转换成一维地址。这一步总是存在的,且由CPU中的分段部件自动完成。本节首先介绍分段管理中的有关概念。分段管理的实现示意如图9-3-2所示。物理地选择1.在保护模式下,每个段的描述符由三个参数构成:段基地址(BaseAddress(Attribtes描述符+9-3-2保护模式下的分段管理示意32201以是4KB。当为字节时,段界限最大长度为220=1MB,当为4KB时,段界限的最大长度为1.在保护模式下,每个段的描述符由三个参数构成:段基地址(BaseAddress(Attribtes描述符+9-3-2保护模式下的分段管理示意32201以是4KB。当为字节时,段界限最大长度为220=1MB,当为4KB时,段界限的最大长度为2.765432106765543 13 10759-3-3存储段描述符格4KB(0/1;D:简单来说决定段是3216(1/0;GD0P段基地线性地存储段描述偏移段选择(1/0;DT:表示段的类型(描述对象1,表示是存储段;9-3-1存储段属性329-3-4以分成:任务门、调用门、中断门和陷阱门。门描述符的格式如图9-3-5所示。其中Dword7654321064547532076210G0P图9-3-(1/0;DT:表示段的类型(描述对象1,表示是存储段;9-3-1存储段属性329-3-4以分成:任务门、调用门、中断门和陷阱门。门描述符的格式如图9-3-5所示。其中Dword7654321064547532076210G0P图9-3-576432105543D476547121PDPL00Dword09-3-5门描述符格08192读/A3B4C5D6E7F存储段描述符、系统段描述符和门描述符的格式各不相同,但DTDPL,P,TYPEDTDT0表9-3-2系统段和门描述符类型字段的编码和含3.为了方便管理,32位处理器把描述符组织成线性表进行管理,这样的表称为描述符表。32(GDTGlobalDescriptorTabl存储段描述符、系统段描述符和门描述符的格式各不相同,但DTDPL,P,TYPEDTDT0表9-3-2系统段和门描述符类型字段的编码和含3.为了方便管理,32位处理器把描述符组织成线性表进行管理,这样的表称为描述符表。32(GDTGlobalDescriptorTable、局部描TableTSSLDT,G的位置由GDTR来定位。32IDT偏移。IDT25632理器系统中,只允许有一张IDT表。4.应的段描述符,其格式如图4-3-6所示。3109-3-6段选择子格GDTLDTTIGDT描述符索081286932位2A3忙的286B32位4286C325D6286E327286F32内容如图4-3-7所示。000内容如图4-3-7所示。0009-3-7段描述符高速缓冲寄存器内6.40~3,0类型来划分,特权级可以表示成当前特权级CPL,描述符特权级DPL和请求特权级RPL。的被访问权限,RPL的规则。其中,CPL、RPL、DPL的值为数值(0、1、2、3。CPL=DPL,其中DPLDPL②其他数据段:CPL<=DPL①②③④⑤,否则产生异常,否则产生异常32位段基地32位段界其他属否则产生异常13。GDT9-3-81.AXEBP,2000HAX,76543219-3-8GDT内2.段描述符高速缓冲否则产生异常13。GDT9-3-81.AXEBP,2000HAX,76543219-3-8GDT内2.段描述符高速缓冲T段+段选择段9-3-9寻址过程示意MOVAX,08HMOVGS,AXGDT,索引=01H性存寻址单000098003000FF000092012000F000000000000000GDT01H0000GDT01H000092012000F00032段属性:G=0,D=0P=1DT=1,DPL=1,TYPE=2MOVEBP,2000HMOVAX,GS:[EBPGS:[EBPAX①②③④任务管任务管32任务状态段系统中的每个任务都有一个任务状态段TSS,用以保存任务的信息。处理器主要是通过TRT

温馨提示

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

评论

0/150

提交评论