我有份汇编的试卷,大家能帮我写一下正确答案吗?
l_ljm 2003-06-26 08:39:12 一. 单选题
下列寄存器中,程序不可见寄存器是()。
1、A.CS B. IP C. SP D.BP
2、指令ADD ES:[DI],AX 和存放在()。
A.寄存器 B. 附加段 C. 堆栈段 D. 代码段
3、下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是()。
A.AX,BX,CX,DX B. BP,SP,IP,CS
C. BX,BP,SI,DI D. BH,BL,CH,CL
4、MOV BUF[BX],AX 该指令中目的操作数寻址方式是()。
A.寄存器 B. 寄存器间接 C. 基址变址 D. 寄存器相对
5、已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H,指令MOV AX,DS:[BP]源操作数的物理地址是()。
A.25040H B. 30040H C.25100H D. 55040H
6、在汇编语言上机过程中,把若干个模块连接起来成为可执行文件的系统程序是()。
A.汇编程序 B.连接程序 C.调试程序 D.以上都是
7、下列传送指令中,有语法错误的指令是()。
A.MOV CS,AX B. MOV DS,AX C. MOV ES,AX D. MOV SS,AX
8、设VAR是数据段中定义的字节变量,指令MUL VAR乘积存放在()。
A.AX B. BX C. CX D.DX
9、定义缓冲区BUF,保留100个字节存储空间的语句是()。
A.BUF DB 100 B. BUF DW 100
C. BUF DW 100 DUP(?) D. BUF DB 100 DUP(?)
10、设(DH)=20H,执行NEG DH指令后,正确的结果是( )。
A.(DH)=20H B.(DH)=20H C.(DH)=0E0H D.(DH)=0E0H
CF=1 CF=0 CF=0 CF=1
11、8086/8088系统中,存储器是分段组织的,存储器物理地址计算式是()。
A.段地址+偏移地址 B. 段地址*10H+偏移地址
C. 段地址*16H+偏移地址 D. 段地址+10H*偏移地址
12、当用DOS系统功能调用2显示一个字符时,字符的ASCII码一定要在( )寄存器中。
A.AL B.BL C.CL D.DL
13、在串指令REP MOVSB中,重复次数一定放在( )寄存器中。
A.AX B.BX C.CX D.DX
14.下列指令执行后,ZF=1的指令是()。
A.MOV AX,0 B. OR AX,0 C. XOR AX,AX D. CMP AX,0
二.填空题
1.一字节无符号数能表达的数值范围是 ,加法运算中,若和溢出范围,此时 标志位1,则有效的和至少是 位二进制数。
2.设VAR是数据段中定义的变量,与指令LEA BX,VAR 等效的指令
3.已知(AL)=85H,执行SAR AL,1 (AL)=
4.书写汇编语言程序时规定:十六进制数后面跟字母 ,若第一个是字母A-F,必须加
5.一字节数据是 位二进制数,8086/8088系统存储器最大寻址空间是 。
6.在程序执行过程中,堆栈段的段地址放在 寄存器中,执行PUSH或POP指令时,偏移地址放在 寄存器中。
7.下列六条指令中,正确的是 两句。
A.MOV SAVE,ES B. INC [SI] C. IDIV AX,5
D.MOV AX,[DX] E. MUL AX,4 F. ADD BX,OFFSET VAR
8.已知(DS)=2A00H,(ES)=2B00H,(BX)=001AH,(BP)=0200H,(SS)=3000H,
计算下列指令源操作数的物理地址,指出寻址方式。
(1)MOV AX,ES:[BP+8] 物理地址 ,寻址方式
(2)ADD DX,[BX] 物理地址 ,寻址方式
9.在汇编语言上机过程中,首先用 建立扩展名ASM的源程序文件,再用 源文件进行汇编,建立扩展名为OBJ的目标程序文件,最后用 进行连接,建立扩展名为EXE的可执行文件。
三.简答题
1.按下列要求写出合适的语句,每小题写一条指令。
(1) 定义ERR为字符串‘INVALID!’值。
(2) 将CX寄存器低4位清零。
(3) 用BP和DI的基址变址寻址,将附加段中一个字传送到CX寄存器。
2. ARRAY DW ‘AB’ ,-2,3dup(1,0)
LEN EQU $-ARRAY
(1) 画出从ARRAY开始的5个字节存储分配图。
(2) LEN=
3.执行下列指令语句,把执行结果填在空格中。
已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,
(50102H)=0A1H,(50103H)=14H
先执行MOV AX,[100H] (AX)= ;
再执行ADD AX,[BX+DI] (AX)= ,CF= ,OF= 。
四 程序分析题
1. 已知(AX)=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX
执行上述指令序列后(AX)= ,CF=
2. MOV AX,10
ADD AX,AX
MOV BX,AX
MOV CL,2
SHL AX,CL
ADD AX,BX
上述程序段执行后(AX)= ,(BX)=
3. MOV AX,0C100H
MOV BX,8FC0H
SUB AX,BX
JNC L1
JNO L2
JMP SHORT L3
程序执行后,(AX)= ,程序转向
五 程序填空
1、 下列程序段求数组ARRAY的累加和。请将程序填写完整。
ARY DW 45H,68H,………….,0ABC1H,9600H;共10项
COUNT DW 10
MOV CX,COUNT
XOR AX,AX
AGAIN:ADD AX,[SI]
ADD SI,2
HLT
2. 下列程序测试DL寄存器D6和D2位。若同时为0,转ZERO,置AX为0,否则转NON_ZERO,置AX为1。
TEST DL,
JZ ZERO
NO ZERO:MOV AX,1
ZERO:MOV AX,0
EXIT:
六.程序设计
1. 设X,Y,Z,W存放16位带符号数,编程计算:
W〈—X*Y-Z
要求:写出有关指令语句。
2. 已知ARRAY DW 1200,-69H,798AH,………432BH;共10项
编程统计正数项个数存入PLUS单元中。
要求:程序完整,可上机调试