第-1-页共-15-页09微机接口技术复习题11、假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2060H,(BX)=3000H,(CX)=5,(DX)=0,(SI)=2060H,(DI)=3000H,(43000H)=0A006H,(23000H)=0B116H,(33000H)=0F802H,(25060)=00B0H,下列各条指令为单独执行指令,前后无关系,请回到括号中的问题。(1)SBBAX,BX完成的是()操作,AX=()(2)CMPAX,WORDPTR[SI+0FA0H]完成的是()操作,AX=()(3)MULBYTEPTR[BX]完成的是()操作,AX=()(4)DIVBH完成的是()操作,AX=()(5)SARAX,CL完成的是()操作,AX=()2、假设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=100H,(BX)=200H,(SI)=0001,(DI)=0002,(BP)=256,字变量ARRAY偏移地址为0050H,(20250H)=1234H,(40100H)=00A0H,(40102H)=2200H。执行下列程序段并分析指令执行后的结果,(注意:不是单条指令),按给出的要求填空回答问题:(每空1分,共10分)(1)MOVAX,[BP][SI]源操作数物理地址=H,指令执行后(AX)=H(2)POPAX源操作数物理地址=H,指令执行后(AX)=H(3)MOVAL,[BX]源操作数有效地址=H,指令执行后(AX)=H(4)LEADI,ARRAY源操作数的寻址方式是,指令执行后(DI)=H(5)JMPBX指令执行后(IP)=H(6)INCBX源操作数的寻址方式是3、指出下列指令的错误,(要求说明错误的原因,并给出正确的写法)(每题1分,共5分)。(1)MOVAH,BX(2)MOV[SI],[BX](3)MOVAX,[SI][DI](4)MOVBYTEPTR[BX],1000H(5)MOVDS,BP4、若给定AX和BX的值如下,(1)(AX)=14C8H,(BX)=808DH(2)(AX)=D022H,(BX)=9F70H(3)(AX)=148DH,(BX)=808DH(4)(AX)=9F22H,(BX)=9F20H5、已知下列程序段,按无符号数计算,说明程序的转向。ADDAL,BLJZL1JCL2第-2-页共-15-页CMPAH,BHJCL3JZL4JMPL56、下列标号为什么是非法的?(1)GET.DATA(2)1_NUM(3)TEST-DATA(4)RET(5)NEWITEM答案:非法标号:(1)因为‘.’只允许是标号的第一个字符(2)第一个字符不能为数字(3)不允许出现‘-’(4)不能是保留字,如助记符(5)不能有空格7、下面的数据项定义了多少个字节?DATA_1DB6DUP(4DUP(0FFH))答案:24字节8、对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?DTSEGSEGMENT|DTSEGSEGMENTORG0010H|ORG0010HDATA1DB72H|DATA1DW7204HDB04H|DTSEGENDSDTSEGENDS|答案:不一样.分别是72H,04H和04H,72H.存储字时低8位存在低字节,高8位存在高字节.9、下面的数据项设置了多少个字节?(1)ASC_DATADB‘1234’(2)HEX_DATADB1234H答案:(1)设置了4个字节(2)设置了2个字节10、执行下列指令后,AX寄存器中的内容是什么?TABLEDW10,20,30,40,50ENTRYDW3...MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]答案:(AX)=4011、指出下列指令的错误:(1)MOVAH,BX(2)MOV[SI],[BX](3)MOVAX,[SI][DI](4)MOVAX,[BX][BP](5)MOV[BX],ES:AX(6)MOVBYTEPTR[BX],1000(7)MOVAX,OFFSET[SI](8)MOVCS,AX(9)MOVDS,BP答案:(1)源、目的字长不一致(2)源、目的不能同时为存贮器寻址方式(3)基址变址方式不能有SI和DI的组合(4)基址变址方式不能有BX和BP的组合(5)在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式(6)1000超出一个字节的表数范围第-3-页共-15-页(7)OFFSET只用于简单变量,应去掉(8)CS不能作为目的寄存器(9)段地址不能直接送入数据段寄存器12、DATASEGMENTTABLE_ADDRDW1234HDATAENDS.MOVBX,TABLE_ADDRLEABX,TABLE_ADDR请写出上述两条指令执行后,BX寄存器中的内容。答案:MOVBX,TABLE_ADDR;执行后(BX)=1234HLEABX,TABLE_ADDR;执行后(BX)=OFFSETTABLE_ADDR13、编写程序段,比较两个5字节的字符串OLDS和NEWS,如果OLDS字符串与NEWS不同,则执行NEW_LESS,否则顺序执行程序。答案:LEASI,OLDSLEADI,NEWSMOVCX,5CLDREPZCMPSBJNZNEW_LESS14.假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:(1)若DX的值超过CX的值,则转去执行EXCEED(2)若BX的值大于AX的值,则转去执行EXCEED(3)CX中的值为0吗?若是则转去执行ZERO(4)BX的值与AX的值相减,会产生溢出吗?若溢出则转OVERFLOW(5)若BX的值小于AX的值,则转去执行EQ_SMA(6)若DX的值低于CX的值,则转去执行EQ_SMA答案:(1)CMPDX,CXJAEXCEED(2)CMPBX,AXJGEXCEED(3)CMPCX,0JEZERO(4)SUBBX,AXJOOVERFLOW(5)CMPBX,AXJLEQ_SMA(6)CMPDX,CXJBEQ_SMA15、假如在程序的括号中分别填入指令:(1)LOOPL20(2)LOOPNEL20(3)LOOPEL20试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?第-4-页共-15-页TITLEEXLOOP.COMCODESGSEGMENTASSUMECS:CODESG,DS:CODESG.SS:CODESGORG100HBEGIN:MOVAX,01MOVBX,02MOVDX,03MOVCX,04L20:INCAXADDBX,AXSHRDX,1()RETCODESGENDSENDBEGIN答案:(1)(AX)=5(BX)=16(CX)=0(DX)=0(2)(AX)=2(BX)=4(CX)=3(DX)=1(3)(AX)=3(BX)=7(CX)=2(DX)=016、变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。答案:MOVAX,0MOVAL,N1+1SUBAL,N2+1AASMOVDL,ALMOVAL,N1SBBAL,N2AASMOVDH,AL17、假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2060H,(BX)=3000H,(CX)=5,(DX)=0,(SI)=2060H,(DI)=3000H,(43000H)=0A006H,(23000H)=0B116H,(33000H)=0F802H,(25060)=00B0H,.(SP)=0FFFEH,(CF)=1,(DF)=1,请写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响条件码请给出条件码SF、ZF、OF、CF的值。(1)SBBAX,BX(2)CMPAX,WORDPTR[SI+0FA0H](3)MULBYTEPTR[BX](4)AAM(5)DIVBH(6)SARAX,CL(7)XORAX,0FFE7H(8)REPSTOSB(9)JMPWORDPYR[BX](10)XCHGAX,ES:[BX+SI]答案:(1)(AX)=0F05FH,(SF)=1,(ZF)=0,(OF)=0,(CF)=1(2)(SF)=1,(ZF)=0,(OF)=1,(CF)=1(3)(AX)=0240H,(OF)=1,(CF)=1(4)(AX)=0906H,(SF)=0,(ZF)=0第-5-页共-15-页(5)(AX)=20ACH(6)(AX)=0103H,(CF)=0(7)(AX)=0DF87H,(CF)=0,(OF)=0,(SF)=1,(ZF)=0(8)(23000H)~(23004H)=60H,不影响标志位(9)(IP)=0A006H,不影响标志位(10)(AX)=00B0H,(25060)=2060H,不影响标志位18、给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT8,试问执行INT8指令后,SP,SS,IP,FLAGS的内容是什么?栈顶的三个字是什么?答案:(SP)=00FA(SS)=0300(IP)=0040(FLAGS)=0040堆栈内容:00A1H0900H0240H08微机接口技术复习题21.CPU中运算器的功能主要是()。A.算数运算B.逻辑运算C.函数运算D.算数运算和逻辑运算2..CPU与外设间数据传送的控制方式有()。A.中断方式B.程序控制方式C.DMA方式D.以上三种都是3.段地址最多可以为()字节。A.128KB.64KC.32KD.16K4.指令MOVAX,MASK[BX][SI]中源操作数的寻址方式为()。A.寄存器寻址B.变址寻址C.基址变址寻址D.相对基址变址寻址5.EPROM是指()。A.随机读写存储器B.可编程只读存储器C.只读存储器D.可擦除可编程只读存储器6.堆栈的工作方式是()。A.先进先出B.随机读写C.只能读出不能写入D.后进先出7.要使8086CPU工作在最小方式,其引脚MN/MX(非)应接()电平。A、TTLB、CMOSC、逻辑低D、逻辑高8.从8086CPU的功能结构上看,其是由()两部分组成。A、控制器和20位物理地址加法器B、运算器和总线接口C、执行单元和总线接口单元D、控制器和运算器9.某RAM芯片有12条地址线,它的容量为()。A)1024KB)4MC)8MD)16M10.8086/8088在内存00000H~003FFH空间建立了一个中断向量表,可容纳()个中断向量A)1024B)256B)1MC)51211.8086/8088的四个通用寄存器分别是()A)AX、BX、CX、DXB)AX、BX、SI、DX第-6-页共-15-页B)AX、BX、SI、DIC)AX、BX、CX、BP12.8086微机系统中的中断向量地址是()A)子程序入口地址B)中断服务程序入口地址B)存放中断向量的地址C)中断服务程序入口地址的地址13.在异步串行通信中,若采用8位数据、一位奇偶校验位、一位起始位、一位停止位的字符格式,当波特率为2400bps,则每秒钟能传送的数据字节数最多为()A)180B)218B)240C)30014.8255使用了()个端口地址A)1B)2B)3C)415.8253的输入脉冲的频率为1MHZ,要求输出为2KHZ的方波信号,它的初值为()A)01F1HB)01F2HB)01F3HC)01F4H16、LOOP指令执行时,隐含的寄存器为()A)AXB)BXC)CXD)DX17、每当CPU执行指令时,决定指令的物理地址的寄存器是()A)SS,SPB)DS,DXB)CS,IPC)SI,DI18、若程序段中定义一个缓冲区,执行BUFFERDD10DUP(?)后,则缓冲区的容量是()A)10BYTEB)2