中航认证培训管理中心:浙江省2003年一月汇编语言自学考试

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 10:38:57
三、简答题(每小题4分,共12分)
1.在8086/8088系统中,存储器是分段组织的,按各段实际长度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:
(1)数据段起始地址是多少?
(2)计算数据段中最多可以存放多少个字节数据?(要有具体计算式)
(3)代码段最多可以存放多少个字节程序代码?说明理由。
2.已知数据段定义如下:
DATA SEGMENT
ORG 100H
BUF DW 'CD', 1, 3 DUP(4, 2 DUP(8, 6))
VRA DB 4AH
.
.
.
DATA ENDS
单独执行下列语句
LEA BX, BUF BX=_______
MOV CX, VRA-BUF CX=_______(用十六进制数表示)。
3.分别说明下列两组指令中两条指令操作的相同点和不同点
(1)SUB AX, BX CMP AX, BX
(2)AND CX, DX TEST CX, DX
四、程序分析题(每小题6分,共24分)
1.MOV AX, 9090H
SUB AX, 4AE0H
JC L1
JO L2
JMP L3
上述程序执行后AX=_______,程序转向_______
2.假设寄存器AX=1234H,DX=0A000H
MOV BX, 0
MOV CX, BX
SUB CX, AX
SBB BX, DX
MOV AX, CX
MOV DX, BX
上述程序段执行后AX=_______ ,DX=_______
程序功能是_______
3.BUF DB 45H, 68H, 7AH, 35H, 39H
.
.
.
MOV DI, OFFSET BUF
MOV CX, 5
MOV AL, ‘a'
CLD
REP STOSB
该程序段执行后,BUF中的内容是_______ ,方向标志DF=_______
4.假设寄存器AX=5AH,CX=23H
.
.
.
MOV DL, 0
LOP: SUB AX, CX
JC NEXT
INC DL
JMP SHORT LOP
NEXT: ADD AX, CX
HLT
上述程序段执行后,AX=_______,DL=_______
用数学表达式指明程序功能:_______
五、程序填空题(每小题6分,共12分,每空格只能填一条指令)
1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出)
FLD DW 10, -20, 30, -60, -71, 80, 79, 56
_______
MOV CX, 8
XOR AX, AX
R1:_______
ADD SI, 2
LOOP R1
MOV CL, 8
IDIV CL
HLT
2.已知数据段DAT单元存放某一数N(-6?N?6)下面的程序段用查表法求数N的平方值,结果送SQR单元,请将程序填写完整。
TABLE DB 0, 1, 4, 9, 16, 25
DAT DB N
SQR DB ?
LEA BX, TABLE
MOV AL, DAT
_______
JGE NEXT
_______
NEXT:XLAT
HLT
六、程序设计题(第1小题6分,第2小题14分,共20分)
1.假设DATAX和DATAX+2单元存放双字P,DATAY和DATAY+2单元中存放双字Q,编程计算2P-Q,差在DX,AX中。若OF=1,程序转OVERFLOW,否则转NOOVER。(只写与试题要求有关的指令语句)
2.已知在数据区BUF1和BUF2分别存放20个字节数据。编程检查两数据区中的数据是否相同。若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR1和ADDR2单元中。
要求:源程序格式完整。