微机原理试题集试题库带答案

微机原理试题集试题库带答案

ID:68909412

大小:829.50 KB

页数:79页

时间:2024-02-06

上传者:pyhnxz63
微机原理试题集试题库带答案_第1页
微机原理试题集试题库带答案_第2页
微机原理试题集试题库带答案_第3页
微机原理试题集试题库带答案_第4页
微机原理试题集试题库带答案_第5页
微机原理试题集试题库带答案_第6页
微机原理试题集试题库带答案_第7页
微机原理试题集试题库带答案_第8页
微机原理试题集试题库带答案_第9页
微机原理试题集试题库带答案_第10页
资源描述:

《微机原理试题集试题库带答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

--微机原理及应用习题集库2一、填空2二、单项选择题6三、  程序分析题〔每题6分,共24分〕16四、判断题〔在对的后面画√,错的后面画×〕:25五:分析判断题〔判断对错,并指出错误原因〕31六、简答题:33七、程序题38八、接口芯片的综合编程题50〔一〕8255A50--.可修编-. --〔二〕8259A56〔三〕.其它端口编程题58--.可修编-. --微机原理及应用习题集库〔请认真复习4、5、7、10、11章后的习题〕一、填空1.87的原码是01010111B=57H,补码是01010111B,反码01010111B。2.SP总是指向栈顶,假设原先SP=2000H,SS=2000H,问CPU执行指令PUSHAX后,AL容压入物理地址为21FFEH存储单元中,AH容压入物理地址为21FFFH存储单元中。3.以BX基址寻址,约定的段存放器是DS,以BP基址寻址,约定的段存放器是SS,变址寻址约定的段存放器是DS。4.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字地址是20H。5.8086/8088的状态标志有6〔SF、PF、AF、OF、ZF、CF〕个。8086/8088系统中,存储器是分段的,每段最大长度是64K字节,段偏移地址从--.可修编-. --0000H到FFFFH。6、CPU访问存储器进展读写操作时,通常在T3状态去检测READY,一旦检测到READY无效,就在其后插入一个Tw周期。7、汇编语言源程序中的语句有三种类型,它们是指令语句,伪指令语句,宏指令语句。8、、8086CPU寻址外设可以有两种方式,一种是直接寻址方式,另一种是间接寻址方式。9、CPU与外设之间的连接部件称为I/O接口,它的根本功能是在CPU与外设之间起缓冲作用。10、CPU从主存取出一条指令并执行该指令的时间称〔〕,它通常用假设干个〔〕来表示,而后者又包括假设干个〔〕。①指令周期②机器周期③时钟周期答:1-2-314、数据的输入/输出指的是CPU与I/O接口进展数据交换。15.X=-120,那么X的原码〔用八位二进制表示〕是____________,补码〔用八位二进制表示〕是____________。16、8088中的指令INTn用〔  N 〕指定中断类型。--.可修编-. --17、8088的ALE引脚的作用是〔 地址锁存允许  〕。18.一片8255A端口A有〔  3 〕种工作方式,端口B有〔  2 〕种工作方式。19.当8255A口工作在方式1输出时,A口输入信号联络线的名称是IBF,输出信号联络线的名称是OBF(带上划线)。20.端口A可以工作在3种工作方式中的任意一种,端口B只能工作在方式0或方式1;〔对错题〕21.可编程并行接口芯片8255A共有〔A〕、〔B〕、〔C〕、和〔控制〕四个端口。22.8088的当前代码段、数据段和堆栈段段地址分别由〔〕、〔〕和〔〕提供。17、微型计算机由〔   〕、〔   〕和〔   〕三大局部组成。20.8086/8088中级别最高的中断类型是〔非屏蔽中断〕,其中断类型码为〔2〕。21.-3的原码是〔10000011〕,反码是〔11111100〕,补码是〔11111101〕。22.以BX基址寻址,约定的段存放器是〔DS〕,以BP基址寻址,约定的段存放器是〔SS〕。--.可修编-. --21.一片8259A最多只能接收〔八〕级中断。三片8259A最多能接收〔22〕级中断。22.8259A中的中断效劳存放器中存放的是〔正在处理的中断请求0〕。23.十六进制数30A转换为二进制是〔001100001010B〕。24.微型计算机由〔 微处理器  〕、〔 存储器  〕和〔  I/O接口电路 〕组成。 25.计算机记忆装置的根本单元是〔触发器〕。26.一个最根本的总线周期是由〔4〕个时钟周期组成的。27.所谓最小模式,是指〔在系统中只有8086/8088一个微处理器〕。28.在8086/8088的引脚中,与总线有关的两个引脚是〔HOLD〕和〔HLDA〕。29.中断向量是〔中断处理子程序的入口地址〕,每个中断类型对应一个中断向量。30.MOVAX,[BX+DI+50]的寻址方式是〔基址加变址的相对寻址〕31.8086最多能处理(256)种中断。32.-7的原码是〔10000111〕,反码是〔11111000〕,补码是〔11111001〕。--.可修编-. --21.8259A中的中断屏蔽存放器中存放的是〔对各级中断请求的屏蔽信息〕。22.在8088读存储器周期中,采样Ready线的目的是〔测试外设数据是否准备好   〕。23..微机系统中,ROM只能〔读〕,RAM可〔随机存取〕。24.存放器是由〔触发器〕组成的。25.一个机器周期是〔执行一条指令的时间〕,机器周期又可分为〔取指周期〕和〔执行周期〕。26.所谓最大工作模式,是指〔在系统中有二个以上的微处理器〕。27.对于地址/数据复用总线,在T1时刻,其传输的信息是〔地址信号〕。28.在8086/8088的引脚中,与中断有关的三个引脚是〔NMI〕、〔INTR〕和〔INTA〕。29.所谓断点,就是指〔响应中断时,主程序中当前指令下面的下一条指令的地址〕。30.8088中的指令INTn用〔n   〕指定中断类型。31..8086最大模式下产生控制信号利用芯片8288总线控制器,最小/最大模式下,外部地址锁存器利用芯片8282--.可修编-. --,外部数据收/发器利用芯片8286。21.子程序可以由Proc语句定义,由ENDP语句完毕,属性可以是NEAR或FAR。22.段定义伪指令语句用SEGMENT语句表示开场,以ENDS语句表示完毕。23.逻辑地址为2000H:1234H的存储单元的物理地址是。21234H24.取指令时,段地址由存放器提供,偏移地址由存放器提供。CS和IP25.CPU在执行OUTDX,AL指令时,存放器的容送到地址总线上,存放器的容送到数据总线上。DX和AL26.数据的输入/输出指的是CPU与进展数据交换。I/O端口27.中断矢量就是中断效劳子程序的入口地址,在存中占有4个存储单元,其中低地址存储单元存放的是偏移地址,高地址存储单元存放的是段地址。28.中断返回指令是RET,该指令将堆栈中保存的断点弹出后依次装入CS存放器和IP存放器中,将堆栈中保存的标志装入标示存放器FR中。29.CPU响应8259A中断,在INTA引脚上输出二个负脉冲,在第二--.可修编-. --个负脉冲期间读入中断类型码。二、单项选择题1.假设补码用8位二进制数表示,那么可表示的最大正数是〔4〕。〔1〕28〔2〕28-1〔3〕27〔4〕27-12向外设端口输出一个数据的指令是〔1〕〔1〕OUTDX,AL〔2〕INDX,AL〔3〕OUTAL,DX〔4〕INAL,DX3.完成同指令XCHGAX,BX一样功能的指令或指令序列是〔3〕。  ①MOVAX,BX  ②MOVBX,AX  ③PUSHAX   POPBX  ④MOVCX,AX    MOVAX,BX    MOVBX,CX--.可修编-. --1.当有两个8286时,可为〔2〕CPU提供数据总线。  ①8088  ②8086  ③80386  ④804862.3片8259A级联,最多可管理〔3〕级中断。①24②.23③.22④.213.响应NMI请求的必要条件是〔3〕。  ①IF=1  ②IF=0  ③一条指令完毕  ④无INTR请求5.测试BL存放器容是否与数据4FH相等,假设相等那么转NEXT处执行,可实现的方法是〔2〕。  ①TESTBL,4FH③ANDBL,4FH    JZNEXTJZNEXT  ②XORBL,4FH④ORBL,4FH    JZNEXTJZNEXT6.8086/8088的一个典型总线周期需要〔1〕个T状态。  ①4  ②3  ③2  ④17.指令指针存放器是〔1〕。  ①IP②SP  ③BP  ④PSW8.--.可修编-. --下面指令序列测试BH中的数是否为奇数,假设为奇数那么转移至K1处,横线处的指令应为〔〕。  TESTBH,01H  ____1_____K1  ①JNE②JZ  ③JS  ④JC9.下面的数据传送指令中,错误的操作是〔4〕。  ①MOVSS:[BX+DI],1000H  ②MOVDX,1000H  ③MOVWORDPTR[BX],1000H  ④MOVDS,2000H10.8255A工作在方式1时,端口A和端口B作为数据输入/输出使用,而端口C的各位分别作为端口A和端口B的控制信息和状态信息。其中作为端口A和端口B的中断请求信号的分别是端口C的〔〕。(A)PC4和PC2(B)PC5和PC1(C)PC6和PC7(D)PC3和PC0答:D1.8255芯片具有C端口。A〕2B〕3C)4D)52.8255的C一般用作控制或状态信息传输。A〕端口AB〕端口BC〕端口CD〕端口C的上半局部3.对8255的端口A工作在方式1输入时,C口的C一定为空闲的。A〕PC4、PC5B〕PC5、PC6C〕PC6、PC7D〕PC2、PC34.对8255的C口D3位置1的控制字为B。--.可修编-. --A〕00000110BB〕00000111BC〕00000100BD〕00000101B5.8255工作在方式1的输出时,OBF信号表示B。A〕输入缓冲器满信号B〕输出缓冲器满信号C〕输入缓冲器空信号D〕输出缓冲器空信号3.在PC/XT机中键盘的中断类型码是09H,那么键盘中断矢量存储在B。A〕36H~39HB〕24H~27HC〕18H~21HD〕18H~1BH4.3片8259A级联起来,可管理C级中断。A〕24B〕23C〕22D〕20E〕16F〕155.假设8259A工作在优先级自动循环方式,那么IRQ4的中断请求被响应并且效劳完毕后,优先权最高的中断源是B。A〕IRQ3B)IRQ5C)IRQ0D)IRQ47.PC/XT机中假设对从片8259A写入的ICW2是70H,那么该8259A芯片的IRQ5的中断矢量存储的地址是D〔注:先算类型号,再*4得到〕A〕75HB〕280HC〕300HD〕1D4H8.当向8259A写入的操作命令字OCW2为01100100时,将完毕E--.可修编-. --的中断效劳。A〕IRQ0B〕IRQ1C〕IRQ2D〕IRQ3E〕IRQ4F〕IRQ5G〕IRQ6H〕IRQ71.下面是关于可编程中断控制器8259A的表达,其中错误的选项是〔3〕。①.8259A具有优先级管理的功能②.8259A具有识别中断源的功能③.8259A具有向CPU提供中断向量的功能④.一片8259A可管理8级中断2.由8088CPU组成的PC机的数据线是〔4〕。  ①8条单向线  ②16条单向线③8条双向线  ④16条双向线3.为8088CPU提供地址总线需要〔4〕。  ①一个8286  ②两个8286  ③两个8282  ④三个82824.一个8259可提供〔2〕个类型号。  ①1  ②8  ③16  ④645.响应INTR请求的必要条件是〔2〕。  ①IF=0②IF=1 ③TF=0  ④TF=16.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是〔1〕。--.可修编-. --  ①MOVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL7.当执行指令ADDAX,BX后,假设AX的容为2BA0H,设置的奇偶标志位PF=1,下面的表达正确的选项是〔4〕。  ①表示结果中含1的个数为偶数  ②表示结果中含1的个数为奇数  ③表示该数为偶数  ④表示结果中低八位含1的个数为偶数8.在汇编语言程序中,对END语句的表达正确的选项是〔3〕。  ①END语句是一可执行语句  ②END语句表示程序执行到此完毕  ③END语句表示源程序到此完毕④END语句在汇编后要产生机器码③AL=64H  BL=82H④AL=100H BL=0FEH9.执行以下指令后,正确的结果是〔2〕。  MOVAL,100  MOVBL,-2  ①AL=100H   BL=02H  ②AL=64H   BL=0FEH10.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是〔3〕。  ①JLE②JNL③JNLE④JL--.可修编-. --1.存放器间接寻址方式中,操作数在中。CA〕通用存放器B〕堆栈C〕存储单元D〕段存放器2.寻址方式的跨段前缀不可省略。AA〕DS:[BP]B〕DS:[SI]C〕DS:[DI]D〕SS:[BP]3.假设〔SS〕=2000H,〔SP〕=0012H,〔AX〕=1234H,执行PUSHAX后,=12HA〕20014B〕20011HC〕20010HD〕2000FH4.假设要检查BX存放器中的D15位是否为1,应该用指令。CA〕ORBX,1000HB〕TESTBX,1000HJNZNOJNZYESC)XORBX,1000HD〕ANDBX,1000HJZYESJNZYES5.用BP作基址变址寻址时,操作数所在的段是当前。CA〕数据段B〕代码段C〕堆栈段D〕附加段.假设主程序段中数据段名为DATA,对数据段的初始化操作应为。BA〕MOVAX,DATAB〕MOVAX,DATAMOVES,AXMOVDS,AX--.可修编-. --C〕PUSHDSD〕MOVDS,DATA3..EXE文件产生在之后。DA〕汇编B〕编辑C〕用软件转换D〕连接4.定义双字变量的定义符是。CA〕DWB〕DQC〕DDD〕DT5.以下存储器操作数的跨段前缀可省略的是。BA〕DS:[BP]B〕SS:[BP]C〕ES:[BX]D〕ES:[SI]3.堆栈操作时,段地址由存放器指出,段偏移量由存放器指出。C、GA〕CSB〕DSC〕SSD〕ESE〕DIF〕SIG〕SPH〕BP4.假设当前DS的容为2000H,那么偏移量为1000H单元的地址可表示为。BA〕2000H.1000HB〕21000HC〕1000H∶2000HD〕3000H3.8086CPU在执行INAL,DX指令时,DX存放器的容输出到上。AA〕地址总线B〕数据总线C)存储器D)存放器--.可修编-. --2.8086CPU复位后,CPU执行的第一条指令的起始地址应是BA)ROM,FFFF0HB)RAM,FFFF0HC)ROM,FFFFHD)RAM,FFFFH3.下述指令,正确的指令是d〔设BUF是字节变量,LAB为标号〕a.MOVBX,ALb.MOVBX,BUFc.MOVBX,LABd.MOVBX,OFFSETBUF4.下述中断,优先权级别最高的中断是aa.NMIb.INTRc.单步中断d.INTn6.8086CPU的40根引脚中,有c个是分时复用的。A〕1B〕16C〕21D〕247、用BP作基址变址寻址时,操作数所在的段是当前C。A〕数据段B〕代码段C〕堆栈段D〕附加段8.执行以下指令:STR1DW‘NO’STR2DB14DUP〔?〕--.可修编-. --CONTEQU$-STR1MOVCX,CONTMOVAX,STR1HLT后存放器CL的值是D。A〕0FHB〕0EHC〕12HD〕10H9、接口的根本功能是C和D。A〕输出锁存B〕输入锁存C〕输出缓冲D〕输入缓冲10、堆栈操作时,段基址由C存放器指出,段偏移量由SP存放器指出。A)CSB)DSC)SSD)ES11.以下四条指令中错误的选项是D。A〕MOVAX,[SI]B〕MOVAX,[BP+DI]C〕MOVAX,[DI]D〕MOVAX,[BP—DI]12、在8086/8088系统中,约定用于形成堆栈段数据物理地址的存放器有A。--.可修编-. --A〕SS,SP,BPB〕SS,SP,BXC〕DS,BX,BPD〕DS,SP,BP13、.EXE文件产生在D之后。A〕汇编B〕编辑C〕用软件转换D〕连接15.指令指针存放器是〔1〕。  ①IP  ②SP  ③BP  ④PSW16.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是〔1〕。  ①MOVAL,00H  ②ANDAL,00H  ③XORAL,AL  ④SUBAL,AL17.以下指令执行后总是使CF=0,OF=0的是〔1〕。  ①AND  ②NEG--.可修编-. --  ③NOT  ④INC22.下面的数据传送指令中,错误的操作是〔1〕。  ①MOVSS:[BX+DI],1000H  ②MOVDX,1000H  ③MOVWORDPTR[BX],1000H  ④MOVDS,2000H23.下面指令执行后,变量DAB中的容是〔3〕。  DAWDW2A05H  DABDB0FAH  :  MOVAL,BYTEPRTDAW  SUBDAB,AL  ①0DAH  ②0FAH  ③0F5H  ④0D0H 24.执行以下指令后,正确的结果是〔2〕。--.可修编-. --  MOVAL,100  MOVBL,-2  ①AL=100H   BL=02H  ②AL=64H   BL=0FEH  ③AL=64H   BL=82H  ④AL=100H   BL=0FEH  25.设数据段中已有:  DA1DB12H,34H  DA2DW56H,78H  下面有语法错误的语句是〔2〕。  ①ADR1DWDA1  ②MOVDA1+1,AX  ③MOVBYTEPTRDA2+1,AL  ④MOVWORDPTRDA1+1,AX--.可修编-. --  27.DATASEGMENT  TA1DW0102H,0304H,0506H  TA2DB02H,03H,04H  :  MOVBX,DS:[0006H]  ANDBX,0FFH  ANDBH,[BX]  上述指令序列运行后,BX的容是〔4〕。  ①0605H  ②0402H  ③0606H  ④0204H  32.IBMPC机的8088处于最大模式,其总线仲载是由〔2〕裁决。  ①非RQ/非GT  ②8289  ③8087  ④8288  33.8088的一个总线周期可交换〔3〕字节。--.可修编-. --  ①4  ②2  ③1  ④1/8    --.可修编-. ----.可修编-. --三、  程序分析题〔每题6分,共24分〕1.ADW1234H  BDW5678H  :  PUSHA  PUSHB  POPA  POPB  试答复:①上述程序段执行后〔A〕=_______,〔B〕=______  ②设执行前SP=200H,执行后SP=____________2AB.读下面程序段,请问,在什么情况下,本段程序的执行结果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCH1MOVAH,0JMPSTOPBRCH1:MOVAH,0FFHSTOP:HLT答:--.可修编-. --3A.现有以下程序段:  MOVAX,6540H  MOVDX,3210H  MOVCL,04  SHLDX,CL  MOVBL,AH  SHLAX,CL  SHRBL,CL  ORDL,BL  试问上述程序段运行后,  〔AX〕=_____________  〔BL〕=_____________  〔DX〕=_____________4A现有以下程序段MOVAL,60HMOVBL,20HSTCADCAL,BL--.可修编-. --问程序执行后,AL=BL=CF=.(DS)=09lDH,(SS)=1E4AH,〔AX〕=1234H,〔BX〕=0024H,〔CX)=5678H,〔BP〕=0024H,〔SI〕=0012H,〔DI〕=0032H,〔09226H〕=00F6H,〔09228H〕=1E40H,〔1E4F6H〕=091DH。以下各指令或程序段分别执行后的结果如何?〔1〕       MOVCL,20H[BX][SI]〔2〕       MOV[BP][DI],CX〔3〕       LEABX,20H[BX][SI]MOVAX,2[BX]〔4〕       LDSSI,[BX][DI]MOV[SI],BX〔5〕       XCHGCX,32H[BX]XCHG20H[BX][SI],AX答(1)(CX)=56F6H;(2)(09226H)=5678H;(3)(AX)=1E40H;(4)(1E4F6H)=0024H;(5)(09226H)=1234H,(AX)=5678H.1.假设存放器AX=1234H,DX=0A000HMOVBX,0MOVCX,BXSUBCX,AX--.可修编-. --SBBBX,DXMOVAX,CXMOVDX,BX上述程序段执行后AX=0FDCFH,DX=60000H程序功能是对原AX、DX中的值求补码,因为取补码指令就相当于用0减去此操作数,见书本P122.4.分析下面程序段,  MOVAL,200  SARAL,1  MOVBL,AL  MOVCL,2  SARAL,CL  ADDAL,BL  试问程序段执行后(BL〕=11100100B=_E4H_〔AL〕=11111001B=F9H5.程序段如下:  BLK1DB46,84,34,-5,20,122,73  :--.可修编-. --  MOVCX,7  LEAS1,BLK1  NEXT:MOVAL,[SI]  INCSI  TESTAL,81H  LOOPZNEXT  MOVBL,[SI]  :  请答复程序段运行后:〔AL〕=_____46_______  〔BL〕=____84________14.对于下面的数据定义,各条MOVE指令单独执行后,有关存放器的容是什么?FLDBDBTABLEADW20DUP〔?〕TABLEBDB‘ABCD’MOVEAX,TYPEFLDBMOVEAX,TYPETABLEAMOVECX,LENGTHTABLEAMOVEDX,SIZETABLEAMOVECX,LENGTHTABLEB解答:--.可修编-. --AX=0001HAX=0002HCX=0014HDX=0028HCX=0001H。19.读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位为1时。20.读程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT请问:(1)本程序实现什么功能?(2)结果在哪里?解答:完成20H*30H,结果在AX中。--.可修编-. --21.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,122.编程序使:(1)AX存放器低4位清零。(2)BX存放器低4位置“1〞。(3)CX存放器低4位变反。(4)用TEST指令测试DL存放器位3、位6是否同时为0,假设是,将0送DL;否那么l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT23.编一程序段,完成符号函数(-128≤x≤127):1(x.>0)y=0(x=0)-1(x<0)假设x的值存放在DATAl中,y的值存放在DATA2中。解答:START:MOVAL,DATA1ANDAL,ALJGEBIGR--.可修编-. --MOVAL,0FFHMOVDATA2.ALHLTBIGR:JEEQULMOVAL,1MOVDATA2,ALHLTEQUL:MOVDATA2,ALHLT24.设AX存放器中有一个16位二进制数,编一程序,统计AX中“l〞的个数,统计结果送CX中。解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT25.编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码存放在以DAT1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。解答:MAIN:PUSHBXPUSHSIPUSHDIPUSHCXPUSHALPUSHDSSTART:MOVBX,DATA1MOVSI,DATA2MOVDIDATA3--.可修编-. --MOVCX,16NEST:LODSBXLATDATA1STOSBLOOPNESTPOPDSPOPALPOPCXPOPDIPOPSIPOPBXRET1.设AX=0FFH,执行ANDAX,86H后,AX=?AX=86H2.设AX=1000H,DX=2000H,CX=3000H,SP=1234H执行PUSHCXPUSHDXPUSHAX后,SP=?再执行POPCXPOPDXPOPAX--.可修编-. --后,AX=?,DX=?,SP=?答:SP=122EHAX=3000H,DX=2000H,SP=1234H〔错一题扣2分,错2题扣3.5分〕7.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。AX,BXJCSUBAX,BXAA1AA:SUB,MOVAX,BXAA1:HLTCMPAX,BX〔1分〕JCAA〔1分〕SUBAX,BXJMPAA1〔2分〕AA:SUBBX〔1分〕,AX〔1分〕MOVAX,BX--.可修编-. --AA1:HLT下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。〔7分〕DATASEGMENTFIRSTDB,,0HSECONDDB,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,MOVSI,0--.可修编-. --NEXT:MOVAL,SECOND[SI]ADCFIRST[SI],ALINCSILOOPNEXTMOVAL,0ADCAL,MOVFIRST[SI],ALMOVAH,4CHINT21HCODEENDSENDSTART--.可修编-. --四、判断题〔在对的后面画√,错的后面画×〕:1、段转移指令执行结果要改变IP、CS的值。(×)2、PUSHCS。(√〕3、OUT2000H,AL〔×〕4、MOVAH,BX〔错〕5、8088中,取指令和执行指令可以重叠操作。〔 √  〕6、MOV[BX],[SI]         〔 ×  〕7、8088CPU用逻辑地址1234H:5678H访问时,可交换一个字。〔√〕8、MOVBYTEPTR[BX],1000〔×〕9、MOV5,AL〔×〕10、MOVAX,[SI+DI](×)2、8088的数据可以存放在几个不连续的段中。〔√   〕4.ADD15H,BX〔错〕5、REP是指令前缀,重复操作的条件是CX≠0。〔对〕6、POP CS   〔错〕7、MOVCS,AX〔错〕--.可修编-. --8、MOV[BX],[SI]〔错〕9、INAL,2000H〔错〕10、8086中,取指令和执行指令可以重叠操作。〔对〕11.当8086CPU标志存放器中的IF=0时,意味着制止CPU响应所有类型的中断。〔错〕12.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。〔对〕13.  假设BUF是变量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。〔对〕14.  OUT3FCH,AL指令是正确的。(错,16位地址端口号要先赋给DX)15.  8255AA口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。〔错〕16.  假设SS=2000H,SP=1000H,执行指令PUSHAX后,AX容压入21000H字单元中。〔错〕17.  所谓寻址方式是指CPU执行指令时寻找操作数的方式。〔对〕18.  8086CPU所有外部中断,仅INTR需申请中断的外设提供中断类型码。〔错〕--.可修编-. --19.一个外设最多含有控制端口和数据端口。〔错,还有状态端口〕20.8086CPU部F标志存放器的所有标志位均可用指令事先置1或清0。〔对,用SAHF设置标志指令,见书本P119〕〕  21.执行INAL,DX指令时,DX的容送到数据总线上。〔错〕22、段转移指令执行结果要改变IP、CS的值。(错)23.8255工作在方式1的输出时,OBF信号表示输出缓冲器满信号。〔对〕24.有数据定义NUMDB‘123456’,经汇编后,NUM占有3字节存储单元。〔错,应是6个字节的存储单元,每一个存的是对应的字符ASCII码值〕25.OUTDX,AL指令的输出是16位操作数。〔错〕26.假设SP=1000H,那么执行指令PUSHAX后,〔SP〕=0FFEH。〔对〕27.8088CPU对存读/写1个字均需两个总线周期。〔对〕30..MOVAH,BX〔错〕31..ADD15H,BX〔错〕32..MOVCS,AX〔错〕--.可修编-. --30..MOVAX,[SI][DI](错,不能同时使用两个变址存放器)31.MOVAX,[CX]〔错〕32.MOV[1000H],[2000H]〔错〕33..MOVBYTEPTR[BX],1000H〔对〕34.SAR指令左补零〔错〕35.执行CMP指令后,操作数的值会改变〔错〕36.8088的Ready信号是由外部硬件产生的。………………〔 对  〕37./及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。……………〔  对 〕38.8088的信号可用作中断矢量的读选通信号。……………………………………〔 对  〕39.8088的数据可以存放在几个不连续的段中。…………………………………………〔 对  〕40.、8088中,取指令和执行指令可以重叠操作。…………………………………………〔 对  〕--.可修编-. --30.8088的可屏蔽中断的优先权高于非屏蔽中断。………………………………………〔 错  〕31.多个外设可以通过一条中断请求线,向CPU发中断请求。……………………………〔 对  〕32.8255A中端口A使用的是INTR,及等线是端口C的线。………………………〔 对  〕,见工作方式1的图33.、中断效劳程序可放在用户可用的存的任何区域。…………………………………〔 错  〕34.8086系统的存储器中各段的大小固定为64KB,同时各段之间可以重叠。〔对〕35.堆栈操作所访问的段是由SS和ES所指定。〔错〕36.在存储器连接过程中,应注意防止地址重叠。〔错〕37.部中断的优先权总是高于外部中断。〔对〕38.两片8259A级连后可管理16级中断。(错)--.可修编-. --30.8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断效劳子程序。〔错〕31.假设8259A中断屏蔽字OCW1为00H,那么8259A所管理的8级中断全被屏蔽.(错)32.只要8259A所管理的中断源没有被屏蔽,那么任何中断源的中断请求都能得到CPU的响应和效劳。(错)33..给8255C口PC3按位置位字是06H。〔错〕34..当8086CPU标志存放器中的IF=0时,意味着制止CPU响应所有类型的中断。〔错〕35.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。〔对〕36..在8086微机系统中,通常外设的中断申请接至8259A的IR上,8259A的中断申请线接至CPU的INTR。〔对〕37.8086CPU对存读/写1个字的操作仅需一个总线周期。〔错〕--.可修编-. --30.总线控制器8288专门用于8086最大模式下产生控制信号。〔对〕31..两片8259A采用主从连接方式时,最多可接收15级中断请求。〔对〕32.执行INAL,DX指令时,DX的容送到数据总线上。〔错,到AL〕33.段转移指令执行结果要改变IP、CS的值。(错)34.假设SS=2000H,SP=1000H,执行指令PUSHAX后,AX容压入21000H字单元中。〔对〕35.在8086/8088中,中断源的级别均比外中断源级别高。〔错〕36.8088CPU用逻辑地址1234H:5678H访问时,可交换一个字。〔错〕37..在PC机上可用地址400H来访问I/O端口。〔错〕38..当8255的PA口方式1输出时,假设外设有负脉冲答复,那么PC3定会上升为高电平。〔对〕39..CPU响应HOLD请求的条件之一是指令周期完毕。〔对〕〕--.可修编-. --30.  假设BUF是变量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。2.  OUT3FCH,AL指令是正确的。3.  8255AA口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。4.  假设SS=2000H,SP=1000H,执行指令PUSHAX后,AX容压入21000H字单元中。5.  所谓寻址方式是指CPU执行指令时寻找操作数的方式。〔对〕6.  8086CPU所有外部中断,仅INTR需申请中断的外设提供中断类型码。〔错〕7.  8086CPU没有直接对TF标志位置1或清0的指令。1、8088的Ready信号是由外部硬件产生的。A.正确B.不正确2、/及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。A.正确B.不正确--.可修编-. --3、8088的信号可用作中断矢量的读选通信号。A.正确B.不正确4、8088的数据可以存放在几个不连续的段中。A.正确B.不正确6、8088的可屏蔽中断的优先权高于非屏蔽中断。A.正确B.不正确7、多个外设可以通过一条中断请求线,向CPU发中断请求。A.正确B.不正确12、串行异步接口的双向工作方式指的是在串行接口上可同时发送和接收串行数据。A.正确B.不正确14、中断效劳程序可放在用户可用的存的任何区域。A.正确B.不正确五:分析判断题〔判断对错,并指出错误原因〕1.下面哪些指令是非法的?(假设OPl,OP2是已经用DB定义的变量)(1)CMPl5,BX(2)CMPOPl,25(3)CMPOPl,OP2(4)CMPAX,OPl答:〔1〕CMP15,BX非法,两个操作数不能一个为字,一个为字节〔2〕CMPOP1,25正确--.可修编-. --〔3〕CMPOP1,OP2正确〔4〕CMPAX,OP1非法,两操作数不能一个为字,一个为字节2.假设以下指令中的所有标识符均为类型属性为字的变量,请指出以下指令中哪些是非法的?它们的错误是什么?(1)MOVBP,AL(2)MOVWORD_OP[BX+4*3][DI],SP(3)MOVWORD_OPl,WORD_OP2(4)MOVAX,WORD_OPl[DX](5)MOVSAVE_WORD,DS(6)MOVSP,SS:DATA_WORD[BX][SI](7)MOV[BX][SI],2(8)MOVAX,WORD_OPl+WORD_OP2(9)MOVAX,WORD_OPl-WORD_OP2+100(10)MOVWORD_OPl,WORD_OPl-WORD_OP2答:〔1〕MOVBP,AL非法,BP为16位AL为八位〔2〕MOVWORD_OP[BX+4*3][DI],SP正确〔3〕MOVWORD_OP1,WORD_OP2非法,两个操作数不能都是变量〔4〕MOVAX,WORD_OP1[DX]非法,[DX]应改为[BX],[BP],[SI]或[DI],那么为存放器相对寻址。〔5〕MOVSAVE_WORD,DS非法,未指明数据段地址DS的偏移量〔6〕MOVSP,SS:DATA_WORD[BX][SI]非法,SS与[BX],[SI]不匹配,SS的偏移量用SP〔7〕MOV[BX][SI],2正确〔8〕MOVAX,WORD_OP1+WORD_OP2正确--.可修编-. --〔9〕MOVAX,WORD_OP1—WORD_OP2+100正确〔10〕MOVWORD_OP1,WORD_OP1—WORD_OP2非法3.假设VAR1和VAR2为字变量,LAB为标号,试指出以下指令的错误之处:(1)ADDVAR1,VAR2(2)SUBAL,VAR1(3)JMPLAB[SI](4)JNZVARl(5)JMPNEARLAB答:〔1〕ADDVAR1,VAR2ADD指令中,目的操作数必须是存放器或存储单元。〔2〕SUBAL,VAR1AL为8位的,而VAR为字变量16位〔3〕JMPLAB[SI]格式不对,LAB处应为一偏移量,而不是标号。〔4〕JNZVAR1JNZ为非零转移,应转移到某个程序段,故后面应为一个标号。〔5〕JMPNEARLAB段直接转移,格式应为JMPNEARPTRLAB六、简答题:1、设一个8字节数据存放在存中,它的起始单元的物理地址为223A0H,假设当前的段基址DS=2000H,由该数据起始单元的偏移地址是多少?答:为23A0H--.可修编-. --1、假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSHAX后,存放数据21H的物理地址是多少?解答:07H21H<—原栈顶20100存放数据21H的物理地址是200FFH2、8086CPU与8088CPU有哪些一样之处?又有哪些区别?答:两者的部构造根本一样,部都采用16位字进展操作及存储器寻址,两者的软件完全兼容,程序的执行也完全一样,两种处理器都封装在一样的40脚双列直插组件〔DIP〕中。--.可修编-. --但它们的外部性能有区别。8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。3、中断入口地址表的功能是什么?中断类型码分别为84H,它们的中断入口在中断入口地址表的什么位置上?答:中断入口地址表的功能是存放中断效劳程序的入口地址。84H〔10000100B〕的中断入口在中断入口地址表的001000010000B,即0210H处,即其偏移地址放在0210H和0211H两个单元中,而段地址放在0212H和0213H两个单元中。4、什么叫总线周期?8086CPU的一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW取决于什么因素?答:总线周期是CPU或其他总线控制设备访问一次存储器或I/O端口所需的时间。在总线周期中需要利用总路线。8086CPU的一个标准总线周期包括4个时钟周期。当4个时钟周期不能完成所规定的操作时,可以插入一个或多个等待时钟周期TW。插入多少个TW--.可修编-. --取决于所访问的存储器或者I/O设备是否准备就绪,此信号由引脚READY发出。5、假设8086系统中的CS=2000H,IP=2100H其物理地址应是多少?答:物理地址为20000H+2100H=22100H。6、假设将某8259A芯片的ICW2定义为39H,那么该8259A的8级中断类型码是多少?答:39H即为:00111001,故其类型码最低的为00111000,即38H;最高为00111111,即3FH。故其中断类型码为:38H---3FH7、8086CPU从功能上分为几局部?各局部的功能是什么?答:8086CPU从功能上分外两大局部,一是执行部件〔EU〕,二是总线接口部件〔BIU〕。执行部件是由以下四局部组成:〔1〕4个通用存放器AX,BX,CX,DX。〔2〕4个专用存放器BP,SP,XI,DI。〔3〕标志存放器FR。〔4〕算术逻辑部件ALU。功能是负责执行所以的指令,向总线接口部件〔BIU〕提供指令执行的结果数据和地址,并对通用存放器和标志存放器进展管理。总线接口部件〔BIU〕由以下部件组成:〔1〕四个段存放器,代码段存放器,数据段存放器,附加段存放器,堆栈段存放器。〔2〕指令指针存放器。〔3〕地址加法器。〔4〕指令领队列。功能:执行外部总线周期,负责存储器与I/O端口传送数据。也就是负责CPU与存储器和外设之间的信息交换。--.可修编-. --8、什么是最大模式〔或最大组态〕?什么是最小模式〔或最小组态〕?用什么方法将8086/8088置于最大模式和最小模式?答:最小模式,即系统中只有一个微处理器,所有的总线控制信号都直接由8086/8088,因此,系统总线控制电路被减到最小。最大模式,即系统里包括两个或多个微处理器,主处理器就是8086/8088,其它均为协助主处理器工作的协处理器。它主要用于中等规模或大型的8086/8088系统中。将8086/8088的第33脚接地时,系统处于最大模式,接+5V时,为最小模式9、什么是地址锁存器?8086/8088系统中为什么要用地址锁存器?锁存的是什么信息?答:地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。当微处理器与存储器交换信号时,首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。10、8086/8088系统中的8286是什么器件?起什么作用?答:8286为总线驱动器〔收发器,双向数据缓冲器〕,当一个系统中所含外设接口较多时,用来增强数据总线的驱动能力。11、.指出以下各指令中源操作数的寻址方式 1〕MOVDI,1002〕MOV[SI],AX3〕ADDAX,[BX+SI]--.可修编-. --4〕MOVDX,[1000H]5〕ANDDH,[BP+4]12、.什么叫做中断源?1片8259A最多能管理几级中断?3片8259A级联起来,最多可管理几级中断?答:13、有符号定义语句如下:BUFFDB1,2,3,‘123’EBUFFDB0LEQUEBUFF-BUFF问L的值为多少?解答:L=614、类型号为17H中断的中断处理子程序的入口地址为1234:5678H,求该入口地址在中断向量表中如何放置?答:0段中5CH、5DH、5EH和5FH四个单元中的值分别为:78H、56H、34H、12H。15、8086/8088系统中引入了哪些中断?是如何引入的?答:通过NMI引脚引入非屏蔽中断;通过INTR引脚引入可屏蔽中断;通过指令INT引入软中断。--.可修编-. --16、标志存放器FR的状态标志有何作用?写出6个状态标志。答:FR的状态标志反映上次运算结果的状态〔1分〕;CF,PF,AF,ZF,SF,OF〔1分〕17、.8086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个局部组成的?答:由段地址和偏移地址两局部构成。5.设IBMPC微机存中某个单元的物理地址是12345H,试完成以下不同的逻辑地址表示:〔1〕      1234H:___H〔2〕      ____H:0345H答:〔1〕1234H:05H(2)1200H:0345H18、.假设某程序执行过程中,〔SS〕=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H19、设堆栈段存放器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值〔即堆栈中没有数据时〕和SP初始值指向的物理地址。答:物理地址为:3E4B0H,SP的初始值为200H,指向的物理地址为:3E6B1H.。3.什么叫做中断源?5.某外部可屏蔽中断的类型码为12H,它的中断效劳程序的入口地址为1000H:2000H,请将中断效劳程序入口地址填在中断向量表中。--.可修编-. --答:12H中断对应的中断向量放在向量表的0000:0048H处,其中0048H、0049H、004AH与004BH这4个单元中的值分别为00H、20H、00H、10H2.某外部可屏蔽中断的类型码为12H,它的中断效劳程序的入口地址为1000H:2000H,请将中断效劳程序入口地址填在中断向量表中.七、程序题1.编制程序段,要现:将0404H单元开场的256单元清零。〔6分〕答:CLD;清方向标志LEADI,0404H;DI指向字串地址MOVCX,256;共256个字节XORAX,AX;AX清零REPSTOSBHLT2.程序分析题。现有以下程序段:〔6分〕MOVSP,2000HMOVAX,3000HMOVBX,5000H  :--.可修编-. --  PUSHAX  PUSHBX  POPAX  试答复:上述程序段执行后SP=___1FFEH______〔AX〕=_____5000H______,〔BX〕=_____5000H______3.程序分析题。现有以下程序段:〔6分〕  MOVAX,6540H  MOVDX,3210H  MOVCL,04  SHLDX,CL;DX=2100H  MOVBL,AH;BL=65H  SHLAX,CL;AX=5400H  SHRBL,CL;BL=06H  ORDL,BL;DL=06H,故DX=2106H  试问上述程序段运行后,  〔AX〕=__5400H___________  〔BL〕=____06H_________  〔DX〕=_____2106H________4.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。--.可修编-. --CMPAX,BX〔1分〕JCAA〔1分〕SUBAX,BXJMPAA1〔2分〕AA:SUBBX〔1分〕,AX〔1分〕MOVAX,BXAA1:HLT5.要求从外设71号中取一个数M,判断其值是否在10和20之间,即10≤M<20.如果M≥20H,那么送0FFH给外设73H;如果M<10,那么送00H给外设73H;如果10≤M<20,那么送88H给外设73H.。要求编写完整源程序实现上述功能〔9分〕答:程序如下:;---------程序段定义,不可省略C1SEGMENTSTART:INAL,71HCLCCMPAL,10JCLP1CMPAL,20JCLP2--.可修编-. --MOVBL,0FFHLP3:MOVAL,BLOUT73H,ALINT21HMOVAH,4CHLP1:MOVBL,00JMPLP3LP2:MOVBL,88HJMPLP3C1ENDSENDSTART6.编一程序段,要现:求两个多字节数之和,这两个数在10050H地址开场的存单元中,连续存放,低位在小地址一端,结果放在这两个数之后。设这两个多字节数均为8个字节。〔8分〕答:MOVAX,1000HMOVDS,AXMOVSI,50HMOVDI,58HMOVBX,60HMOVCX,4--.可修编-. --CLCAA:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2ADDBX,2POPFLOOPAAHLT7.要求编写完整源程序实现:求1+2+3+····+100的和,并将累加和保存在AX中。〔7分〕答:程序如下:;------堆栈段定义,本段定义可省略S1SEGMENTSTACK--.可修编-. --DB100DUP(0)S1ENDS;---------程序段定义,不可省略C1SEGMENTASSUME:CS:C1,SS:S1START:MOVCX,64H;即将100给CXXORAX,AXCLCA1:ADCAX,CXLOOPA1MOVAH,4CHINT21HC1ENDSENDSTART8. 以NUM为首址的存储区中存有假设干个字型数,其长度存于NUM1字节单元。求出数据中的最大值,存入NUM2字单元。MOVSI,OFFSETNUMMOVCX,NUM1AA2:MOVAX,[SI]AA3:INCSICMPAX,[SI]JCAA2LOOPAA2--.可修编-. --HLT9.设AX存放器中有一个16位二进制数,编一程序,统计AX中“1〞的个数,统计结果送CX中解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT10.编一程序段,完成符号函数(-128≤x≤127):1(x.>0)y=0(x=0)-1(x<0)假设x的值存放在DATAl中,y的值存放在DATA2中。解答:START:MOVAL,DATA1ANDAL,ALJGEBIGRMOVAL,0FFHMOVDATA2.ALHLTBIGR:JEEQULMOVAL,1MOVDATA2,ALHLTEQUL:MOVDATA2,ALHLT--.可修编-. --9-1.编一程序段,实现以下功能MOVAX,XCMPAX,0JGEAA1MOVBL,0AHJMPAA3AA1:JZAA2MOVAL,01HJMPAA3AA2:MOVAL,0HAA3:MOVY,ALHLT--.可修编-. --11.假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X,Y和Z。试编制一完整的程序计算X¬X+Y+Z答:X-SEGSEGMENTXDW?X-SEGENDSZ-SEGSEGMENTZDW?Z-SEGEMDSY-SEGSEGMENTYDW?Y-SEGENDSCODESEGMENTMAINPROCFARASSUMEES:Y-SEG,CS:CODE,DS:X-SEG,SS:Z-SEGSTARTPUSHDSSUBAXAXPUSHAXMOVAX,Y_SEGMOVES,AXMOVAX,Z_SEGMOVSS,AXMOVAX,X_SEGMOVDS,AXMOVAX,DS:XMOVBX,ES:YADDAXBXJOOVERFLOWMOVBX,SS:ZADDAX,BXJOOVERFLOW--.可修编-. --MOVDS:X,AXOVERFLOW:RETMAINENDPCODEENDSENDSTART12.读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位为1时。13.读程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT请问:(1)本程序实现什么功能?(2)结果在哪里?解答:完成20H*30H,结果在AX中。--.可修编-. --14.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,115.编程序使:(1)AX存放器低4位清零。(2)BX存放器低4位置“1〞。(3)CX存放器低4位变反。(4)用TEST指令测试DL存放器位3、位6是否同时为0,假设是,将0送DL;否那么l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT--.可修编-. --10.设一子程序求两个多字节数FIRST与SECOND之和,结果放在THIRD中,设这两个多字节数均为4个字节长--.可修编-. --答:ADDSUBPROCPUSHFPUSHAXPUSHBXPUSHCXPUSHSIPUSHDILEASI,FIRSTLEADI,SECONDLEABX,THIRDMOVCX,2CLCAA2:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2--.可修编-. --ADDBX,2POPFLOOPAA2POPDIPOPSIPOPCXPOPBXPOPAXPOPFRETADDSUBENDP--.可修编-. --八、接口芯片的综合编程题〔一〕8255A1.--.可修编-. --假设要求从8255A的A端口输出数据82H,请编写8255A的初始化程序和数据输出程序。现A口地址为80H,B口地址为81H,C口地址为82H,控制字存放器地址为83H,8255A的方式控制字各位的含义如下表:D7D6D5D4D3D2D1D0100:端口A工作于方式001:端口A工作于方式110、11:端口A工作于方式20:端口A输出1:端口A输入0:C4~C7输出1:C4~C7输入0:端口B工作于方式01:端口B工作于方式10:端口B输出1:端口B输入0:C0~C3输出1:C0~C3输入答:参考程序如下:MOVAL,10000000B;置工作方式字,只要求了A是输出,其它任意,故都选用根本;工作方式OUT83H,AL;输出工作方式控制字到控制端口地址MOVAL,82H;将要输出的数值先给AL;OUT80H,AL;将数值送到A端口,其地址号为80H--.可修编-. --2:假设A口方式2要求发两个中断允许,即PC4和PC6均需置位。B口方式1要求使PC2置位来开放中断。,8255的端口地址为60--63H,请写出其初始化程序。答:参考程序如下:MOVAL,0C4HOUT63H,AL  ;设置工作方式MOVAL,09H;PC4的置位控制字为00001001,即09HOUT63H,AL  ;PC4置位,A口输入允许中断MOVAL,0DH;PC6的置位控制字为00001101,即0DH--.可修编-. --OUT63H,AL  ;PC6置位,A口输出允许中断MOVAL,05H;;PC2的置位控制字为00000101,即05HOUT63H,AL  ;PC2置位;B口输出允许中断3某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入,8255的端口地址为60--63H。请写出其初始化程序。那么控制字为:10010001即91H初始化程序为:MOVAL,91HOUT63H,AL--.可修编-. --4:假设8255端口A工作于方式0输出,端口B工作于方式1输入,用PC2置位来自动开启STB选通信号,;请写其初始化程序!答:初始化8255A:MOVDX,8255_CTRL;8255A控制端口地址送DXMOVAL,86H;把所设的控制字送给ALOUTDX,AL;再将控制字从AL送到8255的控制端口;MOVAL,05H;把PC2置位的控制字00000101,即05H送给ALMOVDX,AL;置PC2=1,允许中断5:设8255A的控制口地址为00EEH,要求对端口C的PC7置1,那么控制字00001111B=0FH,要求对端口C的PC3置0,控制字为00000110B=06H。下面的程序可以实现上述要求:MOVAL,0FH;对PC7置1的控制字MOVDX,00EEH;控制口地址送DXOUTDX,AL;对PC7置1操作MOVAL,06H;对PC3置0的控制字--.可修编-. --OUTDX,AL;对PC3进展置0的操作6.编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲那么初始化程序又是什么情况?解答:初始化程序:MOVAL,0BH;PC5置“1〞控制字→ALMOVDX,××××××11B;控制口地址→DXOUTDX,AL;置“1〞控制字→控制存放器MOVAL,0AH;PC5置“0〞控制字→ALOUTDX,AL;置“0〞控制字→控制存放器如果要求PC5输入一个负脉冲那么再加两条指令MOVAL,0BHOUTDX,AL7.设8255A与8086CPU相连,8255A芯片A口工作在方式1输出,B口工作在方式0输入,制止A口中断,8255A芯片A口、B口、C口、控制口地址分别为FFF8H、FFFAH、FFFCH、FFFEH,请写出初始化程序。答:此题没有告诉C口高4位与低4位的出入补充为C口高4位与低4位均为输出,那么其控制字为10100010B=0A2H初始化程序为:MOVAL,0A2HMOVDX,0FFFEH--.可修编-. --OUTDX,AL6.设8255端口地址为50H~56H中的偶地址,并设端口A工作在方式0输入,端口B工作在方式1输出,允许B口中断,端口C输出,对8255初始化编程。其控制字为:10010100B=0A4H初始化程序为:MOVAL,0A4HOUT56H,AL补充题:假设8255A工作于方式0,且端口A和端口C的高4位输出,端口B和端口C低4位输入,设置该8255A的方式选择控制字,并进展初始化编程。并写出从8255A的A端口输出数据7FH的数据输出程序语句。A口地址为60H,B口地址为61H,C口地址为62H,控制字存放器地址为63H,8255A的方式控制字各位的含义如下表:〔此题10分〕--.可修编-. --〔二〕8259A1.某系统中设置三片8259A级联使用,一片为主8259A;两片为从8259A;它们分别接入主8259A的IR2和IR6端。假设当前主8259A和从8259A的IR3上各接有一个外部中断源,它们的中断类型码分别为A0H,B0H和C0H,它们的中断入口均在同一段中,其段基址为2050H,偏移地址分别为11A0H,22B0H和33C0H,所有中断都采用电平触发方式、完全嵌套、普通EOI完毕,请(1)画出它们的硬件连接图;(2)编写全部初始化程序。解答:初始化程序:START:MOVAL,19HMOVDX,偶地址(主)OUTDX,ALMOVAL,0A0HMOVDX,奇地址〔主〕OUTDX,ALMOVAL,44HOUTDX,ALMOVAL,11HOUTDX,ALMOVAL,11HOUTDX,ALMOVAL,0B3HOUTDX,ALMOVAL,22HMOVDX,偶地址〔主〕OUTDX,ALMOVAL,19HMOVDX,偶地址〔从1〕--.可修编-. --OUTDX,ALMOVAL,0B0HMOVDX,奇地址〔从1〕OUTDX,ALMOVAL,02HOUTDX,ALMOVAL,11HOUTDX,ALMOVAL,0F7HOUTDX,ALMOVDX,偶地址〔从1〕MOVAL,22HOUTDX,AL从2:MOVAL,19HMOVDX,偶地址〔从2〕OUTDX,ALMOVAL,0C0HMOVDX,奇地址〔从2〕OUTDX,ALMOVAL,06HOUTDX,ALMOVAL,11HOUTDX,ALMOVAL,0F7HOUTDX,ALMOVDX,偶地址〔主〕MOVAL,22HOUTDX,ALSTIHH:HLTJMP11H--.可修编-. --2.编一系统初始化程序,由8259A的IR0~IR4共五个中断源,中断类型码为4BH,4CH,4DH,4EH,4FH。8259A端口地址为80H、81H。允许它们以完全嵌套方式工作。解答:STT:MOVAL,11HMOVDX,80HOUTDX,ALMOVAL,4BHMOVDX,81HOUTDX,ALMOVAL,01HOUTDX,ALMOVAL,0D0HOUTDX,ALMOVAL,20HMOVDX,80HOUTDX,ALHLT  --.可修编-. --〔三〕.其它端口编程题1.设状态端口地址为76H,数据端口地址为75H,外部设备是否准备好信息由D7位传送,D7=1为准备好,D7=0为未准备好〔忙〕,请用查询方式写出:CPU向外部传送数据的程序段。(8分)答:LOP1:INAL,76HTESTAL,10HJZLOP1;测试语句准确(4分)MOVAL,DATAOUT75H,AL;输出语句准确(4分)HLT--.可修编-. ----.可修编-.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭