课程代码:21043
适用专业:计算机应用、应用电子
一、填空题 (每空1分,共15分)
1.PC机BIOS键盘中断类型号为___________,在物理内存地址为___________处,存有此中断处理程序的入口地址。
2.8088的地址线共有___________根,可寻址的范围为___________。
3.8088的I/O寻址范围为___________。
4.逻辑地址为1234h:1234h,其物理地址是___________。
5.字符'0'的ASCII码为___________;在汉字DOS下机内码为B1A2的汉字,它的区位码为___________。
6.执行IRET指令时,会依次将_____、_____、_____弹出堆栈。
7.在DEBUG下,将执行点从100h改至110h,先敲入_______,然后敲入_________。
8.8086中中断命令寄存器的I/O端口地址为______,中断屏蔽寄存器的I/O地址为_______。
二、指出下列指令的对与错。如果是错误的,请说明原因。(每小题2分,共10分)
1.JMP BL
2.CALL DWORD PTR BX
3.DIV BYTE PTR [BX+SI+255]
4.IN DX,AX
5.PUSH WORD PTR [BX]
三、简答题 (共15分)
1.简述硬中断N的中断过程。(5分)
2.定义数据段如下:
DATAX SEGMENT AT 0B800h
ORG 200h
X1 DD 3 DUP(0,1)
X2 EQU $-X1
X3 LABEL BYTE
X4 DW 0
DATAX ENDS
问:(1) 符号DATAX的物理地址是多少?(2分)
(2) X2的值是多少?(2分)
(3) X4的偏移地址是多少?(2分)
3.对于下面的数据定义,各条MOV语句指令单独执行后,有关寄存器的内容是什么?(4分)
FLDB DB ?
TABLEA DW 20 DUP(?)
TABLEB DB 'ABCD'
(1)MOV AX,TYPE FLDB ;AX=
(2)MOV BX,WORD PTR TABLEB+1 ;BX=
(3)MOV CX,SIZE TABLEA ;CX=
(4)MOV DX,LENGTH TABLEB ;DX=
四、编程 (共35分)
1.编写一个完整的汇编程序,将内存中的X值(一个无符号整数),以十进制形式显示在屏幕上。(17分)
2.编写一子程序InsChar,在字符串String中某个位置插入两个字符,入口:DS:SI为串首地址,CX为串长度,DI中存放的是要插入的位置(相对于串的首地址),DX中存放的是要插入的两个字符。(18分)
五、阅读程序,回答问题 (共25分)
1.下面是一个与显示有关的子程序,请读完后回答后面的问题。(本小题共13分)
P1 PROC FAR
PUSH ES ;输入[CX]=0-24,[DX]=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
MOV BX, 0B800H
MOV ES, BX
OR ES:[DS], AX ;③
POP DI
POP ES
RET
P1 ENDP
(1)此子程序完成了什么功能?(6分)
(2)①处执行完后的物理意义(与显示有关)是什么?(2分)
(3)②处CX为什么要移位?(3分)
(4)③处AH中值的物理意义(与显示有关)是什么?(2分)
2.如下程序在一个文件后面追加一段内容,请在空白处补上必需的内容(本小题共12分)
DATAX SEGMENT PARA
FNAME DB ________________;定义一个名为C:\TT1.DAT的文件名(4分)
FHANDLE DW ?
LEN EQU 1024*10
BUFF DB LEN DUP(?)
DATAX ENDS
CODE1 SEGMENT
ASSUME CS:CODE1, DS:DATAX
MOV AX, DATAX
MOV DS, AX
MOV DX, ________
MOV AX, ________ ; (2分)
INT 21H ; 以读写方式打开指定文件
MOV FHANDLE, AX
MOV BX, AX
MOV CX, ________
MOV DX, ________
MOV AX, ________ ; (3分)
INT 21H ; 将文件位置指针移要文件尾
MOV BX, ________
MOV AX, ________
MOV DX, ________ ; (3分)
MOV CX, LEN
INT 21H ; 写入LEN个字节
MOV AH, 3EH
INT 21H
MOV AH, 4CH
UBR 21
CODE1 ENDS
END
|