资源描述:
《微机原理复习题7(含答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汇编语言试卷一、填空题(每空1分,共15分) 1.PC机BIOS键盘中断类型号为_16H___,在物理内存地址为___处,存有此中断处理程序的入口地址。 2.8088的地址线共有______20_____根,可寻址的范围为___0~1M________。3.8088的I/O寻址范围为_____0~______。4.逻辑地址为1234h:1234h,其物理地址是____13574h_______。5.字符'0'的ASCII码为_30h______;在汉字DOS下机内码为B1A2的汉字,它的区位码为________。6.执行IRET指令时,会依次将__IP___、___CS
2、__、__FLAGS___弹出堆栈。7.在DEBUG下,将执行点从100h改至110h,先敲入_______,然后敲入_________。8.8086中中断命令寄存器的I/O端口地址为______,中断屏蔽寄存器的I/O地址为_______。二、指出下列指令的对与错。如果是错误的,请说明原因。(每小题2分,共10分)1.JMPBLFjmp不能跳转到BL,BL是寄存器2.CALLDWORDPTRBXT3.DIVBYTEPTR[BX+SI+255]4.INDX,AXFIN操作只能传入AX,不能传到dx5.PUSHWORDPTR[BX]T三、简答题(共15分)1.简述硬中断N的中
3、断过程。(5分)中断请求,中断响应,中断服务程序,中断返回2.定义数据段如下: DATAXSEGMENTAT0B800hORG200hX1DD3DUP(0,1)X2EQU$-X1X3LABELBYTEX4DW0DATAXENDS 问:(1)符号DATAX的物理地址是多少?(2分)B8200 (2)X2的值是多少?(2分) (3)X4的偏移地址是多少?(2分)3.对于下面的数据定义,各条MOV语句指令单独执行后,有关寄存器的内容是什么?(4分) FLDB DB? TABLEADW20DUP(?) TABLEBDB'ABCD' (1)MOV
4、AX,TYPEFLDB ;AX=0001 (2)MOVBX,WORDPTRTABLEB+1 ;BX=0042 (3)MOVCX,SIZETABLEA ;CX=0028 (4)MOVDX,LENGTHTABLEB ;DX=0001四、编程(共35分) 1.编写一个完整的汇编程序,将内存中的X值(一个无符号整数),以十进制形式显示在屏幕上。(17分)STASGSEGMENTDW32DUP(?)STASGENDSDTSEGSEGMENTXDB162EHDTSEGENDSCODESEGMENTASSUMECS:CODESS:STAS
5、GMAINPROCFARMOVAX,DTSEGMOVDS,AXMOVBX,XCALLTERNMOVAX,4C00HINT21HMAINENDPTERNPROC二→十并显示。MOVCX,10000CALLDEC_DIV转换万位数MOVCX,1000CALLDEC_DIV转换千位数MOVCX,100CALLDEC_DIV转换百位数MOVCX,10CALLDEC_DIV转换十位数MOVCX,1CALLDEC_DIV转换个位数RETTERNENDPDEC_DIVPROCCX中为十进制的位权MOVAX,BXMOVDX,0DIVCX商为转换后的一位十进制数MOVBX,DXMOVDL,A
6、LADDDL,30H转换成ASCII码MOVAH,2显示INT21HRETDEC_DIVENDPCODEENDSENDMAIN2.编写一子程序InsChar,在字符串String中某个位置插入两个字符,入口:DS:SI为串首地址,CX为串长度,DI中存放的是要插入的位置(相对于串的首地址),DX中存放的是要插入的两个字符。(18分)五、阅读程序,回答问题(共25分) 1.下面是一个与显示有关的子程序,请读完后回答后面的问题。(本小题共13分) P1 PROC FAR PUSH ES ;输入[CX]=0-24,[DX
7、]=0-79 PUSH DI MOV AX,3 INT 10H ;① MOV DI,0 SHL CX,1 ;② MOV AL,50H MUL CL ADD DI,AX ADD DI,DX ADD DI,DX MOV AX,0730H