广东工业大学试卷用纸,共2页,第2页学院:专业:学号:姓名:装订线广东工业大学考试试卷(A)课程名称:汇编语言考试时间:第18周星期二(6月20日)题号一二三四五六七八九十总分得分评分人一、单项选择题(每小题2分,共20分)1.指令MOVAX,[2000H]的寻址方式为()。A.基址寻址B.寄存器间接寻址C.变址寻址D.存储器直接寻址2.在DEBUG工具中,单步执行指令的命令是()。A.GB.DC.TD.R3.若栈顶的物理地址为20100H,当执行完指令PUSHAX后,栈顶的物理地址为()。A.20098HB.20102HC.200FEHD.20100H4.NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行()。A.JMPNEXTB.MOVBX,OFFSETNEXTJMPBXC.MOVBX,NEXTD.LEAAX,NEXTJMPBXJMPAX5.已知AX=8065H,BX=103AH,则指令ADDBL,AL执行后,OF和CF的值分别为()。A.0,0B.0,1C.1,0D.1,16.当CX=0时,REPMOVSB执行的次数为。()A.1次B.0次C.25535次D.25536次7.INT4AH在中断向量表中的物理地址是()A.0:127HB.0:128HC.0:12CHD.0:12DH8.执行下列指令后AL寄存器中的值是()MOVAL,0BFHANDAL,0FCHA.0BCHB.0ACHC.0DCHD.0BBH广东工业大学试卷用纸,共2页,第2页装订线9.下列指令是从键盘接受一个输入,则输入的字符其ASCII码存放在()寄存器中。MOVAH,01HINT21HA.ALB.AHC.DHD.DL10.列表伪操作.LALL的含义是()A.列出包括注释在内的所有宏展开B.只列出产生目标码的宏展开C.不列出任何展开信息D.以上说法都不正确二、判断题(10分,正确的在括号中划√,错误的填×)1、MOV[BX],10H()2.PUSHAL()3.VALDW80000()4.str1DW‘abcd’()5.LEABX,[BX+SI+0F62H]()6.MOVAX,SEG[BX]()7.MOV[BX],[SI]()8.IDIV10()9.INAX,456H()10.XCHGAX,BX()三、阅读程序回答问题(26分)1.执行下列指令后,AX寄存器中的内容是什么?(6分)TABLEDW10H,20H,30H,40H,50H,60H,70H,80HENTRYDW5…MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]2.执行下列指令后,BX寄存器中的内容是什么?(6分)MOVCL,4MOVBX,0A5HROLBX,1RORBX,CL广东工业大学试卷用纸,共2页,第2页学院:专业:学号:姓名:装订线3.分析下列程序段,回答指定问题。(8分)11A3H:2000HMOVAL,011A3H:2002HMOVAX,CS11A3H:2004HMOVSS,AX11A3H:2006HMOVSP,2FF0H11A3H:2009HMOVDX,2012H11A3H:200CHPUSHDX11A3H:200DHCALL2700H11A3H:2010HADDCX,DX11A3H:2012HRET11A3H:2700HPOPCXRET请问执行该段程序后(SP)=?(DX)=?(CX)=?ZF=?4.对于下面的数据定义,各条MOV指令单独执行后有关寄存器的内容是什么?(6分)TABLEADW30DUP(?)TABLEBDB‘ABCDEFGH’1)MOVAX,TYPETABLEA2)MOVDX,SIZETABLEA3)MOVCX,LENGTHTABLEB四、给定宏定义如下,请按照要求展开宏调用。(每小题6分,共12分)1、PUSH_ADDRMACRONPUSHADDR+NENDM请展开下列宏调用:I=0REPT3PUSH_ADDR%II=I+3ENDM2.宏指令STORE定义如下:STOREMACROX,NMOVX+I,II=I+1IFI-NSTOREX,NENDIFENDM试展开下列调用:I=1STORETAB,5广东工业大学试卷用纸,共2页,第2页五、给定(SP)=0102,(SS)=0320,(FLAGS)=1440,以下存储单元的内容为(001A0)=0042,(001A2)=0120,在段地址为0980及偏移地址为00B0的单元中有一条中断指令INT68,紧接其后的一条指令其段地址为0980偏移地址为00B2,试问执行INT68指令后,SP,CS,IP,SS的内容是什么?栈顶的三个字是什么?(14分)六、编程题(18分)1、某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在CX寄存器中,请将月工资的计算编写成一个子程序。(8分)2、阶乘函数,对于任一个大于等于0的正整数N,其函数值定义为:FACT(N)=1(当N=0时)FACT(N)=N*FACT(N-1)(当N0时)(1)测试N=0吗?是,则令FACT(N)=1,返回;(2)保存N,并令N=N-1,调用自身求得FACT(N-1);(3)顺序取出保存的N值(后保存的先取出);(4)计算FACT(N)=N*FACT(N-1),并返回。装订线广东工业大学试卷用纸,共2页,第2页一、单项选择题(每小题2分,共20分)1、D2、C3、C4、C5、C6、B7、B8、A9、A10、A二、判断题(10分,正确的在括号中划√,错误的填×)1、×2、×3、×4、×5、√6、×7、×8、×9、×10、√三、阅读程序回答问题(26分)1、4000H2、A014H3、(SP)=2FF0H(DX)=2012H(CX)=2010HZF=14、(1)、2(2)、60(3)、1四、给定宏定义如下,请按照要求展开宏调用。(每小题6分,共12分)1、参考答案:2PUSHADDR+02PUSHADDR+32PUSHADDR+62、参考答案:1MOVTAB+1,12MOVTAB+2,23MOVTAB+3,34MOVTAB+4,4五、给定(SP)=0102,(SS)=0320,(FLAGS)=1440,以下存储单元的内容为(001A0)=0042,(001A2)=0120,在段地址为0980及偏移地址为00B0的单元中有一条中断指令INT68,紧接其后的一条指令其段地址为0980偏移地址为00B2,试问执行INT68指令后,SP,CS,IP,SS的内容是什么?栈顶的三个字是什么?(14分)(SP)=00FCH(CS)=0120H(IP)=0042H(SS)=0320H广东工业大学试卷用纸,共2页,第2页栈顶的三个字为:0320H:00FCH00B2H0320H:00FEH0980H0320H:0100H1440H六、编程题(18分)1、参考答案:WAGESPROCNEARMOVAL,HOURMOVBL,RATEMULBLMOVCX,AXMOVAX,WORDPTRHOURMOVBL,10DIVBLANDAX,00FFHMOVBL,3MULBLADDCX,AXRETWAGESENDP2、参考答案:SSEGSEGMENTSKTOPDB20HDUP(0)SSEGENDSCSEGSEGMENTASSUMECS:CSEGFACTPROCNEARANDBX,BXJZFACT1PUSHBXDECBXCALLFACTPOPBXMULBXRETFACT1:MOVAX,1RETFACTENDP广东工业大学试卷用纸,共2页,第2页MAIN:MOVAX,SSEGMOVDS,AXMOVSP,SIZESKTOPMOVBX,6CALLFACTCSEGENDSENDMAIN