重庆科技学院200/200学年第学期考试试卷课程名称:微机原理及应用课程代码:教学班级:抽(命)题人:本卷为卷,共11页,考试方式:闭卷,考试时间:120分钟题号一二三四五六七八九十总分抽查核人得分阅卷人一.程序分析题(共39题,195分)1.1[库中题号:050039]5分分析对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?专业班级:姓名:学号:密封线装订线DTSEGSEGMENTORG10HDATA1DB72HDB04HDTSEGENDSDTSEGSEGMENTORG10HDATA1DW7204HDTSEGENDS第3页1.2[库中题号:050038]5分指出下列指令的错误:(1)MOVAX,[BX][BP](2)MOV[BX],ES:AX(3)MOVBYTEPTR[BX],10001.3[库中题号:050037]5分指出下列指令的错误:(1)MOVAX,OFFSET[SI](2)MOVCS,AX(3)MOVDS,BP1.4[库中题号:050036]5分执行完下列程序后,回答指定的问题。MOVAX,0MOVBX,2MOVCX,50LP:ADDAX,BXADDBX,2LOOPLP问:(1)该程序的功能是。(2)程序执行完成后,(AX)=。1.5[库中题号:050035]5分分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?1.6[库中题号:050034]5分下面是将内存一字节数据高4位和低4位互换并放回原位置的程序,找出错误并改正。DATASEGMENTDD1DB23HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,OFFSETDD1MOVAL,[SI]MOVCL,4RCRAL,CLMOV[SI],ALMOVAH,4CH第4页INT21HCODEENDENDSTART1.7[库中题号:050033]5分写出将首地址为BLOCK的字数组的第6个字送到CX寄存器的指令序列,要求分别使用以下几种寻址方式:(1)以BX的寄存器间接寻址(2)以BX的寄存器相对寻址(3)以BX、SI的基址变址寻址1.8[库中题号:050032]5分根据以下要求写出相应的汇编语言指令。(1)把BX和DX寄存器的内容相加,结果存入DX寄存器中;(2)用BX和SI的基址变址寻址方式,把存储器中的一个字节与AL内容相加,并保存在AL寄存器中;(3)用寄存器BX和位移量21B5H的变址寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器单元中;(4)用位移量2158H的直接寻址方式把存储器中的一个字与数3160H相加,并把结果送回该存储器中;(5)把数25H与(AL)相加,结果送回寄存器AL中。1.9[库中题号:050031]5分写出能够完成下列操作的8086CPU指令。(1)把4629H传送给AX寄存器;(2)从AX寄存器中减去3218H;(3)把BUF的偏移地址送入BX中。1.10[库中题号:050030]5分设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。(1)ADDVAR1,VAR2(2)MOVAL,VAR2(3)SUBAL,VAR1(4)JMPLAB[SI](5)JNZVAR1(6)JMPNEARLAB1.11[库中题号:050029]5分分析下列指令的正误,对于错误的指令要说明原因并加以改正。(1)MOVBYTEPTR[BX],1000(2)MOVBX,OFFSETMAYDAT[SI](3)MOVCS,AX(4)MOVDS,BP第5页1.12[库中题号:050028]5分分析下列指令的正误,对于错误的指令要说明原因并加以改正。(1)MOVAH,BX(2)MOV[BX],[SI](3)MOVAX,[SI][DI](4)MOVMYDAT[BX][SI],ES:AX1.13[库中题号:050027]5分给定寄存器及存储单元的内容为:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=32H,(20101)=51H,(20102)=26H,(20103)=83H,(21200)=1AH,(21201)=B6H,(21202)=D1H,(21203)=29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。(1)MOVAX,[BX](2)MOVAX,1100H[BX](3)MOVAX,[BX][SI]1.14[库中题号:050026]5分给定寄存器及存储单元的内容为:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=32H,(20101)=51H,(20102)=26H,(20103)=83H,(21200)=1AH,(21201)=B6H,(21202)=D1H,(21203)=29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[1200H]1.15[库中题号:050025]5分设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1)MOVAX,[BX+10](2)MOVAX,VAL[BX](3)MOVAX,[BX][SI](4)MOVAX,VAL[BX][SI]1.16[库中题号:050024]5分设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1)MOVAX,[BX](2)MOVAX,ES:[BX](3)MOVAX,[BP](4)MOVAX,[SI]1.17[库中题号:050023]5分设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1)MOVAX,21H(2)MOVAX,BX(3)MOVAX,[1000H](4)MOVAX,VAL第6页1.18[库中题号:050022]5分请写出下列指令单独执行后,有关寄存器及存储单元的内容。假设指令执行前(DS)=(ES)=3000H,(AX)=2000H,(BX)=1200H,(SI)=2,(31200H)=2400H,(31202H)=90F7H。(1)ADDES:[BX],900H(2)SUB[BX+SI],AX1.19[库中题号:050021]5分已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。在以上条件下,分别写出下列指令或指令段执行后的结果?MOVCL,[BX+20H][SI];MOV[BP][DI],CX;LEABX,[BX+20H][SI]MOVAX,[BX+2];1.20[库中题号:050020]5分数据段定义如下:DATASEGMENTAT2000HORG30HVAR1DW10DUP(?)VAR2DB10DATAENDS分析下列指令执行后寄存器的结果:MOVAX,SEGVAR1;AX=()MOVBX,OFFSETVAR1;BX=()MOVCX,OFFSETVAR2;CX=()MOVDX,VAR2;DX=()1.21[库中题号:050019]5分已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。在以上条件下,分别写出下列指令或指令段执行后的结果?(1)LDSSI,[BX][DI]MOV[SI],BX(2)XCHGCX,[BX+32]XCHG[BX+20H][SI],AX1.22[库中题号:050018]5分设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序第7页片段,读出计数器2的内容,并把读出的数据装入寄存器AX。1.23[库中题号:050017]5分给定(SP)=0100,(SS)=0300,(FLAGS)=0240,存储单元的内容为(00020)=0040,(00022)=0100,在段地址为0900及偏移地址为00A0的单元中有一条中断指令INT8,试问执行INT8指令后,SP,SS,IP,FLAGS的内容是什么?栈顶的三个字是什么?1.24[库中题号:050016]5分写出分配给下列中断类型号在中断向量表中的物理地址。(1)INT12H(2)INT81.25[库中题号:050015]5分分析下列程序的功能,写出堆栈最满时各单元的地址及内容。SSEGSEGMENT‘STACK’AT1000H;堆栈的段地址为1000HDW128DUP(?)TOSLABELWORDSSEGENDSDSEGSEGMENTDW32DUP(?)DSEGENDSCSEGSEGMENTMAINPROCFARASSUMECS:CSEG,DS:DSEG,SS:SSEGSTART:MOVAX,SSEGMOVSS,AXMOVAX,DSEGMOVDS,AXMOVAX,4321HCALLHTOARETN:MOVAH,4CHINT21HMAINENDPHTOAPROCNEARCMPAX,15JLEB1PUSHAX第8页PUSHBPMOVBP,SPMOVBX,[BP+2]ANDBX,0FHMOV[BP+2],BXPOPBPMOVCL,4SHRAX,CLCALLHTOAB1:POPAXB2:ADDAL,30HJLPRTADDAL,07PRT:MOVDL,ALMOVAH,2INT21HRETHTOAENDPCSEGENDSENDSTART1.26[库中题号:050014]5分假设(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)REPSTOSB(2)JMPWORDPYR[BX](3)XCHGAX,ES:[BX+SI]1.27[库中题号:050013]5分假设(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)DIVBH(2)SARAX,CL(3)XORAX,0FFE7H1.28[库中题号:050012]5分第9页假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2