微机原理及应用总复习_第1页
微机原理及应用总复习_第2页
微机原理及应用总复习_第3页
微机原理及应用总复习_第4页
微机原理及应用总复习_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

./微机原理及应用期终复习提纲一、基本知识1、微机的三总线是什么?答:它们是地址总线、数据总线、控制总线。2、8086CPU启动时对RESET要求?8086/8088CPU复位时有何操作?答:复位信号维高电平有效。8086/8088要求复位信号至少维持4个时钟周期的高电平才有效。复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES及指令队列清零,而将cs设置为FFFFH,当复位信号变成地电平时,CPU从FFFF0H开始执行程序3、中断向量是是什么?堆栈指针的作用是是什么?什么是堆栈?答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW等重要信息。4、累加器暂时的是什么?ALU能完成什么运算?答:累加器的同容是ALU每次运行结果的暂存储器。在CPU中起着存放中间结果的作用。ALU称为算术逻辑部件,它能完成算术运算的加减法及逻辑运算的"与"、"或"、"比较"等运算功能。5、8086CPUEU、BIU的功能是什么?答:EU〔执行部件的功能是负责指令的执行,将指令译码并利用部的寄存器和ALU对数据进行所需的处理BIU〔总线接口部件的功能是负责与存储器、I/O端口传送数据。6、CPU响应可屏蔽中断的条件?答:CPU承认INTR中断请求,必须满足以下4个条件:1一条指令执行结束。CPU在一条指令执行的最后一个时钟周期对请求进行检测,当满足我们要叙述的4个条件时,本指令结束,即可响应。2CPU处于开中断状态。只有在CPU的IF=1,即处于开中断时,CPU才有可能响应可屏蔽中断请求。3没有发生复位〔RESET,保持〔HOLD和非屏蔽中断请求〔NMI。在复位或保持时,CPU不工作,不可能响应中断请求;而NMI的优先级比INTR高,CPU响应NMI而不响应INTR。4开中断指令〔STI、中断返回指令〔IRET执行完,还需要执行一条指令才能响应INTR请求。另外,一些前缀指令,如LOCK、REP等,将它们后面的指令看作一个总体,直到这种指令执行完,方可响应INTR请求。7、8086CPU的地址加法器的作用是什么?答:8086可用20位地址寻址1M字节的存空间,但8086部所有的寄存器都是16位的,所以需要由一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。8、如何选择8253、8255A控制字?答:将地址总线中的A1、A0都置19、DAC精度是什么?答:分辨率指最小输出电压〔对应的输入数字量只有最低有效位为"1"与最大输出电压〔对应的输入数字量所有有效位全为"1"之比。如N位D/A转换器,其分辨率为1/〔2N—1。在实际使用中,表示分辨率大小的方法也用输入数字量的位数来表示。10、DAC0830双缓冲方式是什么?答:先分别使这些DAC0832的输入寄存器接收数据,再控制这些DAC0832同时传送数据到DAC寄存器以实现多个D/A转换同步输出。11、8086<88>部中断源有哪些?答:部〔除法除以0、单步、断点、溢出、指令中断12、读写存贮器<RAM>按其制造工艺又可以分为哪些?答:读写存贮器<RAM>记忆元件有些使用磁芯,有些使用双极型晶体管或金属氧化物半导体场效应晶体管。13、在8086<88>CPU中,中断优先级如何?答:8086各中断源的优先级从高到低依次是:除法除以0、溢出中断、断点中断、指令中断、非屏蔽中断、可屏蔽中断、单步中断14、组合类型的功能是什么?在堆栈段段定义伪指令的组合类型选择STACK参数,DOS的装入程序在装入执行时,将把CS初始化为正确的代码段地址,把SS初始化为正确的堆栈段地址,因此在源程序中如何它们进行初始化?15、中断源是什么?答:所谓中断源即指引起中断的原因或中断请求的来源。16、波特率是什么?答:波特率指数据信号对载波的调制速率,它用单位时间载波调制状态改变次数来表示,其单位为波特<Baud>。17、类型号为N中断向量存放在逻辑地址为多少?如何存放逻辑地址?答:段地址=N*4+2偏移地址=N*4所以类型号为N中断向量存放在逻辑地址为段地址:偏移地址。每个中断类型的逻辑地址为四个字节,高两个字节存放CS段地址,低两个字节存放IP偏移地址。18、8086CPU从奇/偶地址单元开始读写的一个字,需要用多少个总线周期?19.8088/8086CPU响应中断后,TF和IF标志自动置为多少?答:IF为1,TF为020.累加器是什么?<前4>21、控制部件主要包括什么?答:控制部件主要包括:环形计数器、指令译码器,控制矩阵,其他控制电路22、8086CPU可以进行寄存器间接寻址的寄存器是哪些?答:BX、BP、SI、DI23、8088CPU响应INTR请求的条件是什么?<前6>24、在微型计算机系统中,主要的输入输出方法有哪些?答:在微型计算机系统中,主要的输入输出方法有4种:程序控制方式,中断控制方式,直接存储器存取方式,输入/输出处理机方法。25、定位类型的功能是什么?有那些定位类型?当定位类型缺省时,段起始地址便定位为什么?26、组合类型的功能是什么?有哪些组合类型?如果在SEGMENT伪指令后面没有指明组合类型,则汇编程序ASM认为这个段是连接?27、中断处理过程应包括哪些步骤?答:中断方式的实现一般需要经历下述过程:中断请求→中断响应→断点保护→中断源识别→中断服务→断点恢复→中断返回28、CPU何时检测INTA中断请求输入端?答:CPU在一条指令执行的最后一个时钟周期对请求进行检测29、8086/8088中断源的优先级顺序是什么?<前13>30、CPU响应中断时,如何计算和转入中断类型号为N的中断服务程序?答:当CPU响应中断,调用中断类型号为N的中断程序时,根据中断服务程序入口地址表在存中的位置,可将中断类型号N乘以4求出中断向量的首字节地址4N。然后将中断矢量表中的4N和4N+1二个单元容装入指令指针寄存器IP,将4N+2和4N+3单元的容装入CS代码段寄存器,进而可求出中断服务程序入口地址首字节地址为:PA=CS×16+IP。31、8086/8088CPU什么时候对READY信号进行采样?答:CPU在每个总线周期的T3状态开始对READY信号进行采样32、在寄存器间接寻址和基址加变址的寻址方式中,只要用上BP寄存器,那么默认的段寄存器就是哪个?答:默认的段寄存器是SS。33、IMUL、MUL功能与操作?答:MUL,IMUL

功能:乘法指令

语法:MULOPIMULOP

格式:MULr/mIMULr/m

34、REPNZ/REPZ/REP/JCXZ前缀重复后面指令的操作的条件是什么?答:〔1CX不等于0,表示重复次数还未满。〔2ZF=1,表示目的操作数等于源操作数或等于扫描35、暂停指令HLT/WAIT,常用来做什么?答:WAIT指令通常用在CPU执行完ESC指令后,用来等待外部事件,即等待TEST线上的有效信号。WAIT指令通常用在CPU执行完ESC指令后,用来等待外部事件,即等待TEST线上的有效信号。

HIL指令,使时钟脉冲停发,则计算机停止运行,但电源未切断,所以显示器中仍继续显示计算的结果36、8O86/8088CPUALE引脚的下降沿,可实现对什么的锁存答:8O86/8088CPUALE引脚的下降沿,可实现对地址的锁存37、IP指令指针寄存器存放的是什么?答:IP为指令指针寄存器,它用来存放将要执行的下一条指令地址的偏移量,它与段寄存器CS联合形成代码段中指令的物理地址。38、8086<88>的NMI何时响应中断?答:每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,进入对应于中断类型号为2的非屏蔽中断处理程序。39、定点8/16位2的补码形式表示整数围为什么?40DMA是什么?<后46>41、三态输出电路的意义是什么?答:三态输出电路能使电路与总线脱离,使总线结构具有公共通路的作用。42、8086CPU共有多少地址线、数据线?,它的寻址空间为多少字节?8086CPU地址线宽度为20条,数据线为16位,可寻址围为1MB43、8086CPU的地址加法器的作用是什么?<前7>44、中断向量是什么?答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW等重要信息。45、D/A转换器的分辨率是什么?<前9>46、DMA什么?有什么作用?答:DMA是直接存储器传输方式。DMA在计算机的存储器与外设之间开辟直接的传输通道,直接进行数据传送,数据传输不再靠执行I/O指令,数据也不经过CPU的任何寄存器,这种方式的时间利用率最高,适合于一次传送大量的数据,但实现较复杂。47、定点16位字长的字,采用2的补码形式表示时,一个字所能表示的整数围为多少?O端口编址有哪两种方式,8086CPU采用的是什么方式?答:I/O端口的编址方式分为统一编址和独立编址。8086CPU采用的是独立编址方式。栈指针的作用是指示栈顶指针的地址,保存的是什么?答:用于保存断点地址、PSW等重要信息。50A/D转换器的分辨率是答:表示转换器对微小输入量变化的敏感程度,通常用转换器输出数字量的位数来表示。518088/8086微机系统中把0段的何区域设置为1个中断向量表?答:8088/8086微机系统中把O段的0000~03FFH区域设置为一个中断向量表。52.8086/8088CPU要求到RESET引脚上的复位正脉冲信号,其宽度至少要有几个时钟周期才能有效复位,如果是上电复位则要求脉冲宽度不少于多少微秒?答:RESET信号的有效形式为高电平,且必须持续4个时钟周期以上,系统复位后的启动地址为FFFF0H。如果是上电复位则要求脉冲宽度不少于50微秒.53.8086/8088CPU复位后,从何单元开始读取指令字节?答:FFFF0H54.CPU响应两个硬件INTR和NMI,相同的必要条件是什么?答:当外设经中断控制器向CPU提出INTR中断请求时,在满足响应INTR的4个条件之下,CPU对INTR作出响应。CPU对INTR响应首先是由送出两个负脉冲,第一个负脉冲通知中断控制器CPU对它的请求已开始响应。当中断控制器收到第二个负脉冲时,中断控制器将提出请求的外设的中断向量码送到数据总线上。CPU从数据总线上读取中断向量码。接下来,CPU将标志寄存器的容压入堆栈保护起来。而后使IF=0、TF=0。接着把CS和IP的容压入堆栈保护起来。CPU下面的工作就是将前面读得的中断向量码×4作为中断向量表的地址。以此地址开始的顺序4个地址中,前面两个地址的容送IP,后两个地址的容送CS。因为,在允许进行中断之前,这4个地址中已存放好INTR中断服务程序的入口地址〔中断向量。因此,当将这4个地址的容装入IP和CS之后,从下一总线周期开始,CPU就转向INTR中断服务程序的起始地址开始执行服务程序。以上从INTR提出请求,到CPU转向INTR中断服务程序入口的整个过程就是CPU对INTR的响应过程。值得注意的是该过程完全由CPU硬件自动实现。当外设产生NMI有效的中断请求信号时,CPU在执行一条指令结束且没有比NMI更高优先级中断请求时,就会对NMI请求作出响应。CPU响应NMI中断请求,首先是由CPU部硬件产生NMI中断的中断向量码02H。接下来是CPU将标志寄存器压入堆栈,使IF=0、TF=0,接着将CS和IP压入堆栈。此后,CPU将NMI的中断向量码02H×4=08H,实际上是00008H,作为中断向量表的地址。由此开始的4个地址已事先放好了NMI中断服务程序的入口地址〔或称中断向量。这时,CPU从00008H和00009H两个地址中取出一个字放入IP,接着从0000AH和0000BH取出一个字放入CS。此时CS和IP中放着的就是NMI中断服务程序的入口地址。从下一个总线周期开始,CPU就转到了NMI中断服务程序。以上就是CPU对NMI的响应过程,所有这些操作均由CPU硬件自行完成。55.8O86/8088CPU的基本总线周期分为几个时钟周期?答:8086/8088CPU的基本总线周期分为4个时钟周期。常将4个时周期分别称为4个状态,即T1、T2、T3、T4状态,T1发地址,T2、T3、T4为数据的读/写。56、CPU响应可屏蔽中断时会自动将TF、IF怎样?答:CPU响应可屏蔽中断时,把标志寄存器的中断允许标志IF和单步标志TF清零。将IF清零是为了能够在中断响应过程中暂时屏蔽外部其他中断,以免还没有完成对当前中断的响应过程而又被另一个中断请求所打断,清除TF是为了避免CPU以单步方式执行中断处理子程序。57.何为堆栈,它有什么用处?堆栈指针的作用是什么?答:堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW等重要信息。堆栈指针的作用是指示栈顶指针的地址58.什么叫中断优先权?8086/8088中各类中断的优先级如何划分的?答:在有多个中断源的情况下,根据轻重缓急,为每一个中断类型设置一个响应级别,称之为中断优先权。8086各中断源的优先级从高到低依次是:除法除以0、溢出中断、断点中断、指令中断、非屏蔽中断、可屏蔽中断、单步中断59.程序查询输入输出的基本思想是什么?中断控制方式输入输出的基本思想是什么?答:程序查询输入输出的基本思想是CPU通过执行程序不断读取并测试外部设备状态,如果输入外部设备处于已准备好状态或输出外部设备为空闲状态时,则CPU执行传送信息指令。

中断控制方式输入输出的基本思想是:当外部设备需要与CPU进行数据交换时,由接口部件的CPU发出一个中断请求信号,CPU响应这一中断请求,便可在中断服务程序中完成一个字节或一个字的信息交换。一般用来传送低速外部设备与CPU之间的信息交换。60.8086CP在每个总线周期的什么状态开始对READY信号进行采样?<前31>61、8O86/8088CPUALE引脚的什么沿可实现对地址的锁存?<前36>二、问答题1、读下程序,说明其功能。MOVSI,OFFSETBUFFERX;将存缓冲区BUFFERx的容送入地址;寄存器SI<源字符串的起始地址>MOVDI,OFFSETBUFFERY;将存缓冲区BUFFERx的容送入地址;寄存器DI<目标字符串的起始地址>MOVCX,59H;将十六进制数59H送入CX寄存器<重复的次数>CLD;消除方向标志<改变字符串的传送方向标志>REPMOVSW;重复前缀指令,字串重复传送功能:这段程序是传送字符串,指定了字符串存储的起始地址和目标地址的偏移量,进行重复传送59次.2、读下面程序,说明其功能DATASEGNENT;声明数据段ADD1DBFEH,86H,7CH,44H,56H,1FHADD2DB56H,49H,4EH,0FH,9CH,22HSUMDB6DUP<0>;开辟了一个数据存储空间CONTDB3DATAENDSSTACKSEGMENTPARASTACK′STACK′;声明堆栈段DB990DUP<?>STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKMADDB:MOVAX,DATAMOVDS,AXMOVES,AXMOVSI,OFFSETADD1;指定了偏移地址MOVDI,OFFSETADD2MOVBX,OFFSETSUMMOVCL,BYTEPTRCONT;MOVCH,0CLC;消除进位标志MADDB1:MOVAX,[SI];将ADD1首地址容送入AXADCAX,[DI];将ADD1首地址容与ADD2首地;址容进行相加INCSI;由于AX是存储单元是16位的;所以移两次INCSIINCDIINCDIMOV[BX],AX;将两个数相加得到的结果送入;SUM区首地址里面去INCBX;指向下一存储单元INCBXLOOPMADDB1;循环6次MOVAH,4CH;键盘中断,返回DOS环境INT21HCODEENDSENDMADDB功能:本程序是先用宏汇编声明了数据段,堆栈段,然后将ADD1数据段的容与ADD2段的数据容从第一个数据相加,一直加到第6个数,将所得到的数送入存储单元为6个字大小的SUM数据存储区中,在程序执行过程中调用外部键盘中断,当有中部键盘按下时,返回DOS环境.3、试说明I/O端口的一般编址方法和其优缺点?答:存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,存单元与I/O端口的不同,只在于它们具有不同的的地址。优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。②存与外设地址的分配,可以用统一的分布图。③不需要专门的输入、输出操作指令。缺点:存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直接寻址的存单元数减少。②一般情况下,系统中I/O端口数远小于存单元数,所以在用直接寻址方式来寻址这些端口时,要表示一个端口地址,必须用与表示存单元地址相同的字节数,使得指令代码较长,相应地读/写执行时间也较长,这对提高系统的运行速度是不利的。4接口电路如下图所示,设图道0-7的地址依次为380H387H,程序如下,试说明程序功能. DATA SEGMENT;数据段 COUNT EQU100 BUFF DB COUNT*8DUP<?>DATA ENDSSTACKSEGMENT stack;堆栈段 DW 200DUP<?>STACK ENDSCODE SEGMENT;代码段ASSUMECS:CODE,DS:DATA,SS:STACK;声明代码段,数据段,堆栈段START:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV BX,OFFSETBUFF;指向了BX的地址MOV CX,COUNTOUTL:PUSH BX;进栈 MOV DX,380HINLOP:OUTDX,AL ;将AL数据送入通道0口中去,主要;是使WR/引脚产生一个下跳变,使ADC0809引脚;START与ALE产生上跳变,开始启动芯片工作MOV AX,50000;延时子程序WT:DEC AXJNZ WTIN AL,DX ;将外部信号转换后的数据送入AL中,;这条语句的作用是读选通信号,使RE产生一个上;跳变,使转换后的模拟信号送入CPU中.MOV [BX],AL;将ADC0809转换后的信号送入CPU存储器区BX;存储单元中去.ADD BX,COUNT INC DX ;转化次数加1,指向AD芯片的下一信号输入端口CMP DX,388H ;比较是不是将通道0到通道7所有端口;的信号都进行了一次AD转换JB INLOP;否则跳出,回INLOP执行下一通道转换POP BX ;出栈INC BX LOOP OUTLMOV AH,4CH;键盘中断,返回DOS环境INT 21HCODEENDSEND START功能:本程序是ADC0809八个通道对外面八路模拟信号进行AD转换,然后存储在UBFF数据存储区中.程序主要思想是先定义段地址,然后先用一个读信号,使引脚ALE和START产生一个上跳出变,启动0809芯片工作,然后延时等待数据转化,再利用一个读信号使引脚,使引脚OE产生一个上跳变将转化后的数据送入CPU中,转化一直对通道0到通道7进行一次为一个过程.最后调用键盘中断,如有外部按键将返回DOS环境.5、何谓中断优先权和中断嵌套?答:〔1中断优先级是在同时出现了几个中断请求的情况下,CPU对中断响应的顺序,优先级高的中断先得到响应。〔2中断嵌套是指令在多重中断方式下,CPU在处理一个中断请求时,又被另一个中断请求所打断,进入新的中断处理过程的现象。6、试说明对于不同级别的中断请求一般的处理原则.答:对于可屏蔽中断的嵌套处理原则是允许优先级高的中断打断优先级低的中断,而

不允许优先级低的中断打断优先级高的中断,也不允许同级中断相互打断非屏蔽中断可以打断可屏蔽中断7、分析图4-6所示的连接图,计算此时的8k字节芯片6264所占的存地址空间。答:图中D0-D7是数据线占用了8个字节,而A0A12是地址线占用其所长2个字节存地址空间为,再就是A19,A18,A16,A15,A13控制的是6264的使能端8、试说明下图工作原理,设端口地址200H,设延时子程序为DELAY,编程如下程序,试说明其功能。MOV DX,200H ;端口地址200H送DXLOOP1:MOV AL,00H OUT DX,AL ;将数据0送DAC0832进行转换CALL DELAY ;调用延时子程序MOV AL,0FFHOUT DX,AL ;将数据FFH送DAC0832进行转换CALL DELAYJMP LOOP1答:该程序是D/A转换发送方波的程序,低电平是00F,高电平是FFH。9、读程序段,说明其功能。abc1:MOVAH,01HINT21HCMPAL,0JEabc2CMPAL,′0′JLabc1CMPAL,′9′JGabc1MOVDL,ALMOVAH,02INT21Habc2:MOVAH,4CHINT21H答:此段程序的功能是:从键盘输入数字键,如果是数字1-9则从显示屏上进行显示,如果是0则退出程序返回DOS系统,其它字符则无效。10、读程序段,说明其功能。CLDLEADI,ES:DESTLEASI,SOURCEMOVCX,200REPNECMPBJCXZMEXTMATCH:DECSIMOVAL,BYTEPTR[SI]JMPJIESHUNEXT:MOVAL,00JIESHU:HLT答:执行上述程序,若两串相同,则AL寄存器的容为0;若两串不同,则该字节的容保留在AL寄存器中。11、8086CPU在最小方式下INTA引脚是什么功能?它输出的两个连续的负脉冲信号有什么用?答:〔1在最小工作模式下,INTA引脚作为中断响应信号的输出端,用来对外设的中断请求作出响应。〔2、第1个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第2个负脉冲后,往数据总线上放中断类型码,从而CPU便得到了有关此中断请求的详尽信息。12.8086CPU总线接口单元BIU的具体任务是什么?堆栈是什么?答:BIU的具体任务是负责于存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。在计算机,需要一块具有"先进后出"特性的存储区,用于存放子程序调用时程序计数器PC的当前值,以及需要保存的CPU各寄存器的值〔现场,以便子程序或中断服务程序执行结束后能正确返回主程序。这一存储区称为堆栈。13、何为中断?中断矢量是什么?中断方式的实现一般需要经历哪些过程?答:所谓中断是指某事件的发生引起CPU暂停当前程序的运行,转入对所发生事件的处理,处理结束又回到原程序被打断处接着执行这样一个过程。中断矢量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。中断方式的实现一般需要经历下述过程:中断请求—→中断响应—→断点保护—→中断源识别—→中断服务—→断点恢复—→中断返回14.程序查询输入输出的基本思想是什么?中断控制方式输入输出的基本思想是什么?答:查询方式包括查询输出方式和查询输入方式。所谓查询输入方式,是指CPU读外设数据前,先查询外设是否处于准备就绪状态;查询输出方式是指CPU向外设输出数据之前,先查询外设是否处于空闲状态。采用中断传输方式时CPU向外设输出数据时将启动命令写入外设控制口后,就继续执行随后的指令,而不是被动等待;当外设处于空闲状态,可以接收数据时,由外设向CPU发出允许数据传送的请求信号。在这种方式中,CPU发出控制命令后,依然执行启动命令后的指令序列,而不是通过检测外设的状态来确定外设是否处于空闲状态,不仅CPU利用率搞,而且能同时与多个外设进行数据交换。15.计算机I/O端口编址一般分哪两种方法?各有什么优缺点?在80x86微机中,I/O端口编址采用哪一种?答:I/0端口的编址方式有两种,分别称为存储器映象寻址方式〔统一编址和独立编址〔专用的I/O端口编址。独立编址方式的优点是:I/O端口的地址码较短〔一般比同系统中存储单元的地址码短,译码电路较简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计。它的缺点是:需要有专用的I/O指令,而这些I/O指令的功能一般不如存储器讯问指令丰富,所以程序设计的灵活性较差。存储器映像编址方式的优点是:任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,不需要专用的I/O指令,从而使系统编程比较灵活;I/O端口的地址空间是存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数目几乎可以不受限制。它的缺点是:I/O端口占用了存空间的一部分,虽然存空间必然减少,影响了系统存的容量;同时访问I/O端口同访问存一样,由于访问存时的地址长,指令的机器码也长,执行时间显然增加。在80x86微机中,I/O端口编址采用独立编址。三.程序设计1、编写汇编简易程序段,若自BLOCK开始的存缓冲区中,有100个带符号的数〔字为单位,希望找到其中最大的一个值,并将它放到MAX单元中。〔15分MOVCX,99

MOVBX,0;0-99个带字符的数

MOVMAX,BLOCK[BX]

LOOP1:

MOVAX,BLOCK[BX];BLOCK[BX]放入到AX里

CMPAX,BLOCK[BX+2];两个数进行比较

JGENEXT;跳到NEXT

MOVMAX,BLOCK[BX+2];如果是的就放到MAX里

NEXT:

ADDBX,2;每次加2

LOOPLOOP1

2、编写汇编完全程序,从BUF单元开始为一个ASCII码字符串,找出其中的最大数送屏幕显示。DATASEGMENT

BUFDB'STRING',0;定义字符串

MAXDB?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

MOVAX,DATA

MOVDS,AX

MOVBX,0

MOVMAX,BUF[BX];从BUF开始

LOOP1:

MOVAX,BUF[BX+1];每次加1

CMPAX,0;比较

JZDONE

JMPAX,MAX

JBENEXT

MOVMAX,AX

NEXT:

INCBX

JMPLOOP1

DONE:

MOVDX,MAX输出最大数

MOVAH,2

INT21H

MOVAX,4C00H

INT21H

CODEENDS

3、编写汇编完全程序,用查表的方法将一位十六进制数转换成与它相应的ASCII码。既然指定用查表的方法,那么首先要建立一个表TABLE。我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII码值DATASEGMENTTABLEDB‘0123456789ABCDEF’TEMP6H这个变量是随便的一位十六进制数ASCIIDB?保

温馨提示

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

评论

0/150

提交评论