适用专业:计算机应用、应用电子
一、填空题(每空1分,共19分)
1.用于控制字符操作地址增量方向的标志寄存器是________,表示加法结果溢出的标志寄存器是________,允许产生中断时,IF=_______。
| |
2.在移位指令中,用于指定移位位数的操作数只能是及。
3.内存0005CH处4个字节为D2,EF,00,F0,它是中断________的入口地址存放处,它表示该中断处理程序的起始地址为________:________。
4.一条指令为MOVBX,X1,其中X1的偏移地址为16(十进制)。在DEBUG下,此指令会变为MOVBX,________。
5.用于表示无符号数大于或等于的条件转移指令是________;用于表示带符号数大于或等于的条件转移指令是________。
6.IBMPC中规定中断优先级次序(从高到低)依次为________、________、________、________。
7.在BIOSINT10h中,定义了多种显示方式,其中06代表的是一种CGA图形方式,它的分辨率为________,可以有________种颜色;12h代表的是一种VGA图形方式,它的分辨率为________,可以有________种颜色。
二、判断题(每小题2分,共12分)
判断下述指令的正误。正确的打“√”,错误的打“×”并说明理由
1.MOVMYDATBXSI,AX()
2.MOVBX,OFFSETMYDATSI()
3.MOVSAVE_DS,DS()
4.DIV12()
5.RETF()
6.JMPWORDPTRBX()
三、简答题(共13分)
1.指出下列各条指令单独执行后相应寄存器的值。(4分)
DATAXSEGMENT
X2LABELWORD
X1DDh
X3EQU$-X2
DATAXENDS
⑴MOVAX,X2+1
⑵MOVBX,X3
2.简述IRET指令的执行过程。(5分)
3.内中断共有哪几种?(4分)
四、编程实现(共44分)
1.编写子程序ReadFile,读入文件”MyFile”至内存中(文件长度<60KB)。子程序入口参数(已预置好)为DS:SI,它存放的是内存缓冲区的首地址。要求返回值为:AX=文件的实际长度。(19分)
2.编写一个完整汇编程序,往按字典顺序存放的等长字符串表(每个串长4个字符,各串中间以空格分隔,表以00h结尾)中插入一个新的串,并保持字典顺序。(25分)
五、阅读程序,填充(共12分)
3D3H及3D4H分别是某个外设的两个I/O端口(设备寄存器)地址,其中3D3H为地址(索引)寄存器,其索引值范围为0~15;3D4H为共用同一I/O地址的数据寄存器组。在对3D4H进行的每次访问前,要先在索引寄存器中指定索引值。如下程序完成对数据寄存器的初始化,请在4个空白处补上正确的内容。
InitPortsPROCNEAR
PUSHSI
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVSI,OFFSETVALUE_ARRAY
MOVCX,16
_______________;①
MOVDX,3D3H
MOVBL,0
L1:MOVAL,BL
_______________;②写索引寄存器
INCDX
LODSB
_______________;③写数字寄存器
_______________;④
INCBL
LOOPL1
POPDX
POPCX
POPBX
POPAX
POPSI
RET
InitPortsENDP
|