.11.8-微机原理试题集题库(带答案)_第1页
.11.8-微机原理试题集题库(带答案)_第2页
.11.8-微机原理试题集题库(带答案)_第3页
.11.8-微机原理试题集题库(带答案)_第4页
.11.8-微机原理试题集题库(带答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

TOC\o"1-3"\h\z\u8310微机原理及应用习题集库 29903一、填空 211739二、单项选择题 62241三、程序分析题(每小题6分,共24分) 1611516四、判断题(在对的后面画√,错的后面画×): 2520212五:分析判断题(判断对错,并指出错误原因) 3129886六、简答题: 3331036七、程序题 3832607八、接口芯片的综合编程题 504751(一)8255A 501768(二)8259A 561043(三).其它端口编程题 58微机原理及应用习题集库(请认真复习4、5、7、10、11章后的习题)一、填空87的原码是01010111B=57H,补码是29H=00101001B,反码00101000B=28H。SP总是指向栈顶,若原先SP=2000H,SS=2000H,问CPU执行指令PUSHAX后,AL内容压入物理地址为21FFEH存储单元中,AH内容压入物理地址为21FFFH存储单元中。以BX基址寻址,约定的段寄存器是DS,以BP基址寻址,约定的段寄存器是SS,变址寻址约定的段寄存器是DS。假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字地址是20H。8086/8088的状态标志有6(SF、PF、AF、OF、ZF、CF)个。8086/8088系统中,存储器是分段的,每段最大长度是64K字节,段内偏移地址从0000H到FFFFH。CPU访问存储器进行读写操作时,通常在T3状态去检测READY,一旦检测到READY无效,就在其后插入一个Tw周期。汇编语言源程序中的语句有三种类型,它们是指令语句,伪指令语句,宏指令语句。、8086CPU寻址外设可以有两种方式,一种是直接寻址方式,另一种是间接寻址方式。CPU与外设之间的连接部件称为I/O接口,它的基本功能是在CPU与外设之间起缓冲作用。CPU从主存取出一条指令并执行该指令的时间称(),它通常用若干个()来表示,而后者又包括若干个()。①指令周期②机器周期③时钟周期答:1-2-314、数据的输入/输出指的是CPU与I/O接口进行数据交换。15.已知X=-120,则X的原码(用八位二进制表示)是____________,补码(用八位二进制表示)是____________。16、8088中的指令INTn用(N)指定中断类型。17、8088的ALE引脚的作用是(地址锁存允许)。一片8255A端口A有(3)种工作方式,端口B有(2)种工作方式。当8255A口工作在方式1输出时,A口输入信号联络线的名称是IBF,输出信号联络线的名称是OBF(带上划线)。端口A可以工作在3种工作方式中的任意一种,端口B只能工作在方式0或方式1;(对错题)可编程并行接口芯片8255A共有(A)、(B)、(C)、和(控制)四个端口。8088的当前代码段、数据段和堆栈段段地址分别由()、()和()提供。微型计算机由()、()和()三大部分组成。20.8086/8088中级别最高的中断类型是(非屏蔽中断),其中断类型码为(2)。-3的原码是(10000011),反码是(11111100),补码是(11111101)。 以BX基址寻址,约定的段寄存器是(DS),以BP基址寻址,约定的段寄存器是(SS)。一片8259A最多只能接收(八)级中断。三片8259A最多能接收(22)级中断。8259A中的中断服务寄存器中存放的是(正在处理的中断请求0)。十六进制数30A转换为二进制是(001100001010B)。微型计算机由(微处理器)、(存储器)和(I/O接口电路)组成。计算机记忆装置的基本单元是(触发器)。一个最基本的总线周期是由(4)个时钟周期组成的。所谓最小模式,是指(在系统中只有8086/8088一个微处理器)。在8086/8088的引脚中,与总线有关的两个引脚是(HOLD)和(HLDA)。中断向量是(中断处理子程序的入口地址),每个中断类型对应一个中断向量。MOVAX,[BX+DI+50]的寻址方式是(基址加变址的相对寻址)8086最多能处理(256)种中断。-7的原码是(10000111),反码是(11111000),补码是(11111001)。8259A中的中断屏蔽寄存器中存放的是(对各级中断请求的屏蔽信息)。在8088读存储器周期中,采样Ready线的目的是(测试外设数据是否准备好)。.微机系统中,ROM只能(读),RAM可(随机存取)。寄存器是由(触发器)组成的。一个机器周期是(执行一条指令的时间),机器周期又可分为(取指周期)和(执行周期)。所谓最大工作模式,是指(在系统中有二个以上的微处理器)。对于地址/数据复用总线,在T1时刻,其传输的信息是(地址信号)。在8086/8088的引脚中,与中断有关的三个引脚是(NMI)、(INTR)和(INTA)。所谓断点,就是指(响应中断时,主程序中当前指令下面的下一条指令的地址)。8088中的指令INTn用(n)指定中断类型。.8086最大模式下产生控制信号利用芯片8288总线控制器,最小/最大模式下,外部地址锁存器利用芯片8282,外部数据收/发器利用芯片8286。子程序可以由Proc语句定义,由ENDP语句结束,属性可以是NEAR或FAR。段定义伪指令语句用SEGMENT语句表示开始,以ENDS语句表示结束。逻辑地址为2000H:1234H的存储单元的物理地址是。21234H取指令时,段地址由寄存器提供,偏移地址由寄存器提供。CS和IPCPU在执行OUTDX,AL指令时,寄存器的内容送到地址总线上,寄存器的内容送到数据总线上。DX和AL数据的输入/输出指的是CPU与进行数据交换。I/O端口中断矢量就是中断服务子程序的入口地址,在内存中占有4个存储单元,其中低地址存储单元存放的是偏移地址,高地址存储单元存放的是段地址。中断返回指令是RET,该指令将堆栈中保存的断点弹出后依次装入CS寄存器和IP寄存器中,将堆栈中保存的标志装入标示寄存器FR中。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语句在汇编后要产生机器码9.执行下列指令后,正确的结果是(2)。

MOVAL,100

MOVBL,-2

①AL=100H②AL=64H③AL=64H④AL=100H

BL=02HBL=0FEHBL=82HBL=0FEH

10.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是(3)。

①JLE②JNL③JNLE④JL1.寄存器间接寻址方式中,操作数在中。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,AXC)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④PSW

16.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(1)。

①MOVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL

17.下列指令执行后总是使CF=0,OF=0的是(1)。

①AND②NEG③NOT④INC22.下面的数据传送指令中,错误的操作是(1)。

①MOVSS:[BX+DI],1000H②MOVDX,1000H③MOVWORDPTR[BX],1000H④MOVDS,2000H

23.下面指令执行后,变量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

C模拟题

一.单选题1.CPU和输入/输出设备之间传递的信息类型有()A.地址信息和数据信息B.模拟量和数字量C.控制信息,状态信息和数据信息D.A好B2.下列指令中,有语法错误的指令是()A.MOVAX,[1000H]B.LEAAL1000HC.MOV[1000H],ALD.MOV1000H,AX3.8086CPU的硬件中断引脚有几个?A.1个B.2个C.3个D.4个4.8086CPU地址线与数据线分别为多少条?A.8条,16条B.8条,20条C.16条,16条D.20条,16条下列指令中隐含使用寄存器SI的是()HLTB.CMPSBC.XLATD.NOT下列指令中,执行速度最快的指令是()ADDAX,100B.ADDAL,[SI+10H]C.ADDAX,CXD.ADDAX[BX]堆栈段寄存器是()DSB.SSC.ESD.CS假设V1和V2是用DW定义的变量,下列指令中正确的是()MOVV1,20HB.MOVV1,V2C.MOVAL,V1D.MOV2000H,V2执行PUSHAX指令后,堆栈指针SP的内容:减1B.减2C.加1D.加2答案:CDBDBBABA三、程序分析题(每小题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)

MOV CL,20H[BX][SI](2)

MOV [BP][DI],CX(3)

LEA BX,20H[BX][SI]MOV AX,2[BX](4)

LDS SI,[BX][DI]MOV [SI],BX(5)

XCHG CX,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,AXSBBBX,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,TYPEFLDBAX=0001HMOVEAX,TYPETABLEAAX=0002HMOVECX,LENGTHTABLEACX=0014HMOVEDX,SIZETABLEADX=0028HMOVECX,LENGTHTABLEBCX=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,ALJGEBIGRMOVAL,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,DATA2MOVDIDATA3MOVCX,16NEST:LODSBXLATDATA1STOSBLOOPNESTPOPDSPOPALPOPCXPOPDIPOPSIPOPBXRET设AX=0FFH,执行ANDAX,86H后,AX=?AX=86H设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,BXAA1:HLT下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。(7分)DATASEGMENTFIRSTDB,,0HSECONDDB,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,MOVSI,0NEXT: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、POPCS(错)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个字均需两个总线周期。(对).MOVAH,BX(错).ADD15H,BX(错).MOVCS,AX(错).MOVAX,[SI][DI](错,不能同时使用两个变址寄存器) MOVAX,[CX](错)MOV[1000H],[2000H](错).MOVBYTEPTR[BX],1000H(对)SAR指令左补零(错)执行CMP指令后,操作数的值会改变(错)8088的Ready信号是由外部硬件产生的。………………(对)/及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。……………(对)8088的信号可用作中断矢量的读选通信号。……(对)8088的数据可以存放在几个不连续的段中。…………(对)、8088中,取指令和执行指令可以重叠操作。…………(对)8088的可屏蔽中断的优先权高于非屏蔽中断。………(错)多个外设可以通过一条中断请求线,向CPU发中断请求。……………(对)8255A中端口A使用的是INTR,及等线是端口C的线。………(对),见工作方式1的图、中断服务程序可放在用户可用的内存的任何区域。…………………(错)8086系统的存储器中各段的大小固定为64KB,同时各段之间可以重叠。(对)堆栈操作所访问的段是由SS和ES所指定。(错)在存储器连接过程中,应注意避免地址重叠。(错)内部中断的优先权总是高于外部中断。(对)两片8259A级连后可管理16级中断。(错)8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。(错)若8259A中断屏蔽字OCW1为00H,则8259A所管理的8级中断全被屏蔽.(错)只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。(错).给8255C口PC3按位置位字是06H。(错).当8086CPU内标志寄存器中的IF=0时,意味着禁止CPU响应所有类型的中断。(错)一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。(对).在8086微机系统中,通常外设的中断申请接至8259A的IR上,8259A的中断申请线接至CPU的INTR。(对)8086CPU对内存读/写1个字的操作仅需一个总线周期。(错)总线控制器8288专门用于8086最大模式下产生控制信号。(对).两片8259A采用主从连接方式时,最多可接收15级中断请求。(对)执行INAL,DX指令时,DX的内容送到数据总线上。(错,到AL)段内转移指令执行结果要改变IP、CS的值。(错)若SS=2000H,SP=1000H,执行指令PUSHAX后,AX内容压入21000H字单元中。(对)在8086/8088中,内中断源的级别均比外中断源级别高。(错)8088CPU用逻辑地址1234H:5678H访问时,可交换一个字。(错).在PC机上可用地址400H来访问I/O端口。(错).当8255的PA口方式1输出时,若外设有负脉冲回答,则PC3定会上升为高电平。(对).CPU响应HOLD请求的条件之一是指令周期结束。(对))71.若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,由该数据起始单元的偏移地址是多少?答:为23A0H1、假定(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。故其中断类型码为:38H3FH7、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级联起来,最多可管理几级中断?答:3、有符号定义语句如下: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,2000H

MOVAX,3000HMOVBX,5000H

:

PUSHAX

PUSHBX

POPAX试回答:上述程序段执行后SP=___1FFEH______(AX)=_____5000H______,(BX)=_____5000H______程序分析题。现有下列程序段:(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,20JCLP2MOVBL,0FFHLP3:MOVAL,BLOUT73H,ALINT21HMOVAH,4CHLP1:MOVBL,00JMPLP3LP2:MOVBL,88HJMPLP3C1ENDSENDSTART6.编一程序段,要求实现:求两个多字节数之和,这两个数在10050H地址开始的内存单元中,连续存放,低位在小地址一端,结果放在这两个数之后。设这两个多字节数均为8个字节。(8分)答:MOVAX,1000HMOVDS,AXMOVSI,50HMOVDI,58HMOVBX,60HMOVCX,4CLCAA:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2ADDBX,2POPFLOOPAAHLT7.要求编写完整源程序实现:求1+2+3+····+100的和,并将累加和保存在AX中。(7分)答:程序如下:;堆栈段定义,本段定义可省略S1SEGMENTSTACKDB100DUP(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]JCAA2LOOPAA2HLT9.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“1”的个数,统计结果送CX中解答:START:MOVCX,0LOOP

温馨提示

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

评论

0/150

提交评论