|  | 
 
| 东大16年12月考试《汇编语言程序设计》考核作业答案 
 更多作业资源及论文写作,请联系QQ或微信515224986咨询
 东北大学继续教育学院
 汇编语言程序设计试卷(作业考核线上)B卷
 
 
 一、单项选择题(从四个备选答案中选出一个正确的答案填在题干的括号内)(20分)
 ()1.指令MOVAL,[BX+100]的源操作数的寻址方式为?
 A.基址寻址B.寄存器间接寻址
 C.变址寻址D.基址变址寻址
 ()2.确定下列哪些数据在汇编语言中的表示是合法的?
 A.2AND3*5B.138Q
 C.A3HD.HIGHAX
 ()3.若栈顶指针SP的值为100H,当执行完指令PUSHAX后,SP的值为?
 A.00FCHB.0098H
 C.00FEHD.0102H
 ()4.已知在寄存器AX和BX中分别存放着一个无符号数据,在满足条件AX≥BX时转到标号OK去执行,不能实现该功能的程序段是?
 A.CMPAX,BXB.CMPAX,BX
 JNBOKJAOK
 C.CMPBX,AXD.CMPAX,BX
 JBEOKJNCOK
 ()5.下列程序段在语法上是正确的是?
 A.X1DB‘ABCD’B.X1DW‘ABCD’
 C.X1DD‘ABCD’D.X1DB1234H
 ()6.已知AL=67H,BL=34H,则指令ADDAL,BL执行后,OF和CF的值分别为?
 A.0,0B.0,1
 C.1,0D.1,1
 ()7.已知AL,BL中各存放一个带符号数,计算AL/BL的商,用下述哪个程序段?
 A.DIVBLB.IDIVBL
 C.XORAH,AHD.CBW
 IDIVBLIDIVBL
 ()8.已知SUBR是一个属性为NEAR的子程序,下述调用SUBR子程序的指令序列中,哪一个能实现调用SUBR的目的?
 A.LEASI,SUBRB.MOVSI,SUBR
 CALL[SI]CALLSI
 C.MOVBX,OFFSETSUBRD.MOVBX,OFFSETSUBR
 CALLBXCALLWORDPTR[BX]
 ()9.初始化8259A时,ICW2的值为15H,当IR2端有中断请求时,8259A送出的中断方式码是什么?
 A.17HB.12HC.13HD.10H?
 ()10.在两个8259A级联的中断系统中,从8259A连接在主8259A的IR3上,主8259A和从8259A的ICW3应设置为多少?
 A.03H,08HB.08H,03HC.04H,03HD.08H,08H?
 二、判断题(判断每题正误,对的在题后括号内划“√?”,错的划“”)。(10分)
 1.MOVDS,CS()?6.MOVCS,AX()?
 2.MOVAX,DL()?7.XCHG50H,BH()?
 3.POPAL()?8.SHLAX,10()?
 4.NOT5()?9.INAL,DX()
 5.INAX,200H()10.OUT21H,AL()
 三、填空题。(20分)
 1.已知:BX=100H,BP=200H,SI=300H,DS=1000H,SS=2000H,CS=3000H,指出下述指令中存储器操作数的有效地址及实际地址。(6分)
 指令有效地址实际地址
 MOVAL,CS[SI100H]
 MOVAL,[BP+10H]
 MOV[BX+SI],AL
 2.写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。(4分)
 DATA1DB32,‘AB’
 DATA2DW32,‘AB’
 DATA1DATA2
 
 3.已知部分中断向量表的内容给出如下,则方式码为10H的中断服务程序的入口偏移地址为(),段地址为()。(4分)
 C>DEBUG
 转载请注明奥鹏易百网
 d00
 000000009E0FC900650470001600C10865040000
 000000106504700054FF00F0008000F06FEF00F0
 00000020000000C82800C1086FEF00F06FEF00F0
 000000306FEF00F06FEF00F09A00C10865047000
 00000040070070C84DF800F041F800F0972558FD
 0000005039E700F040022D062D047000280A7606
 00000060A4E700F02F0082096EFE00F004067606
 000000701D0000C8A4F000F022050000C65700C0
 4.依据下述子程序说明文件把子程序补充完整。(6分)
 1)子程序名:MSHL;
 2)子程序功能:多字节数据逻辑左移一位;
 3)入口条件:数据低字节地址在SI中,数据长度在CX中;
 4)出口条件:移后数据低字节地址在SI中;CF为移位前数据最高位状态;
 5)受影响的寄存器:F。
 MSHLPROC
 PUSHSI
 PUSHCX
 ()
 MSHL1RCLBYTEPTR[SI],1
 ()
 LOOPMSHL1
 POPCX
 POPSI
 ()
 MSHLENDP
 四、改错题。(10分)
 下列程序有错,请将它们找出并改正过来。已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元,若二者相同,将MAX清0。
 要求:不必抄题,直接在试题上修改。在错误的部分下面划一条线,然后在本行的后面给出正确的答案即可。
 1.SEGASEGMENT
 4.DAXDWA0H
 8.DAYDB1000H
 12.MAXDB0,0
 15.SEGAENDS
 18.CSEGSEGMENT
 21.ASSUMECSCSEG;ASSUMEDSSEGA
 25.BEGIN:MOVDS,SEGA
 27.MOVAX,DAX
 29.CMPAX,DAY
 33.JGXGY
 35.JZZERO
 40.MOVAX,DAY
 43.XGYMOVMAX,AX
 47.ZEROMOVAH,4CH
 49.INT21
 50.CSEGEND
 56.ENDSTART
 五、简答题(24分):用尽可能少的指令编写完成下列功能的程序段
 1.将寄存器AL的高4位取反,低4位不变。
 
 
 2.将寄存器AL的第i位清0,其它位状态不允许改变,已知i在CL中。
 
 
 
 3.已知AL,BL中各存放一个字节数据,如果两数同为偶数,则将AL清0;如果两数同为奇数,则将AL置2;否则将AL置1。
 
 
 
 
 
 
 
 
 4.已知中断服务程序的入口地址为SEVER,对应的中断方式码为40H,则将其入口地址写入中断向量表的程序段。
 
 
 
 
 
 
 六、程序设计题。(16分)
 已知一组无符号字节数据存放在内存DATA开始的连续单元中,数据个数在CNT单元存放。编制程序求出该组数据的最小值,并将其存入MIN单元。
 
 
 
 
 
 更多学习资料请进www.openhelp100.com
 
 
 
 | 
 |