求高手帮我做一做下面的汇编语言题,马上要考试了,非常感谢
「已注销」 2013-06-04 07:55:11 一、单项选择题(每小题的四个备选答索中,选出一个正确答案,并将正确答案的号码填在下表中。每小题1分,共20分)
二进制数1000 0000为带符号的补码时,表示( ).
A.-128 B.-0
C.-127 D.128
在计算机内,字符均用ASCII码表示,一个字符在存储器中占用( )
A.4BIT B.1个字节
C.一个字 D.一个双字
在计算机内,机器数均用( )来表示
A.原码 B.反码
C.补码 D.ASCII码
BCD码是二进制编码的十进制数,一个16位的十进制数或非组合BCD码在机内要占用( )个字节单元
A.4 B.8
C.16 D.32
8086CPU产生存储单元的物理地址是由( )组合产生的
A.CS和IP B.段基址和偏移地址
C.SS和SP D.有效地址和相对地址
6、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指
令是( )。
A.ADD BH,01H B.OR BH,01H
C.XOR BH,01H D.TEST BH,01H
7、完成对CL寄存器的内容乘以4的正确操作是( )
A.ROL CL,1 B.MUL 4
ROL CL,1
C.SHL CL,1 D.MOV CL,2
SHL CL,1 SHL CL,CL
8、下面各传送指令中,正确的是( )
A.MOV [DI],[SI] B.MOV[DX+DI],AL
C.MOV WORD PTR [BX],0100H D.MOV AL,BX
9、REPZ CMPSW指令,重复执行的终止条件是( )
A.CX=0或ZF=0 B.CX=0且ZF=0
C.CX=0或ZF=1 D.CX=0且ZF=1
10、指令PUSH DS的目的操作数是( )寻址方式
A.寄存器 B.寄存器间接
C.直接 D.隐含(固定)
11、已知(SI)=0004H, (DS)=8000H, (80004H)=02H, (80005H)=C3H,指令LEA AX, [SI]执行后,(AX)= ( )
A.0002H B.0004H
C.02H D.C302H
12、已知(AL0=A3H, 指令CBW执行后,(AX)=( )
A.00A3H B.FFA3H
C.0FA3H D.A300H
13、( )是一种能被计算机识别和执行的语言
A.汇编语言 B.高级语言
C.算法语言 D.机器语言
14、八位微计算机用补码所能表示的数的范围是( )
A.-128~127 B.-127~127
C.0~255 D.0~256
15、八位微处理器的地址线AB为16条,则能组合成( )种不同的地址码
A.2 B. 2- 1
C.2 D. 2-1
16、结果不为零的条件转移指令,其测试条件是( )
A.ZF=1 B.ZF=0
C.SF=l D.SF=0
17、下列有语法错误的语句是( )
A.DB 1234H B.DW 4567H
C.DD ′AB′,′CD′ D.DB ′ABCD′
18、下面有语法错误的指令是( )
A.XCHG AX,[BX] B.XCHG AX,DS
C.XCHG AX,SI D.XCHG AX,BP
19、条件转移指令JBE产生转移的条件是( )
A.CF=0 OR ZF=0 B.CF=0 OR ZF=1
C.CF=1 OR ZF=0 D.CF=1 OR ZF=1
20、XOR AX, 426H
JZ DONE
上述程序段产生分支的条件是( )
A.执行前AX=426H B.执行前AX≠426H
C.执行前AX=全0 D.执行前AX=全1
二.判断题(正确的记“√”,错误的记“×”。每题2分,共20分)
( )指令XOR AX,0FFFFH 与NOT AX 的功能是一样的。
( )PUSH 2000H 和 MOV BX,[SI] 都是正确的指令。
( )在汇编语言语句中出现的标号和变量名,都有段属性和偏移属性,但是符号常数不具备这两个属性。。
( )将要执行的指令的地址是由寄存器CS和IP的内容确定的。
( )汇编语言的语句由三类组成:汇编指令语句,伪指令语句和宏指令语句。在对源程序汇编时,汇编程序要把这三类指令都翻译成机器指令代码。
( )在用DEBUG来调试汇编语言生成的EXE文件时,可用G命令来运行程序,而用D命令来查看存储单元的内容。
( )若AL=10,执行指令MUL 50后,AX=500。
( )堆栈是以先进后出的方式工作的存储空间。
( )若AL、BL存放的是以压缩的BCD码表示的两个二位十进制数,执行ADD AL,BL与DAS两条指令后,可在AL中得到这两个数相加的和。
( )在使用串指令前,需用指针DS:DI指向源串的数据,而用ES:SI指向目的串的数据,DS和ES可以指向同一个段。
三、填空(每空2分,共30分)
十六进制数FF被看作是用补码表示的有符号数时,它所表示的十进制数是______,被看成是无符号数时,它所表示的十过制数是_______;十六进制数32被看成是用补码表示的有符号数时,它所表示的十进制数是______。
段地址和偏移地址为4017:008A的存储单元的物理地址是__________。
已知 TABLE DW 10,20,30,40,50
ENTRY DW 3
… …
在执行指令 LEA BX, TABLE
ADD BX,ENTRY
MOV AX,[BX]
后AX=__________。
VAR 是数据段中0032H 单元的符号名,其中存放的内容为1234H,写出单独执行下列两条指令后AX的内容。
(1)MOV AX, VAR; AX=__________
(2)LEA AX,VAR; AX=__________
设BX=0E3H,写出下列指令单独执行后的结果。
TEST BX,01H ; BX=__________
AND BX,0FFFH; BX=__________
NOT BX ; BX=__________
设DX=0B9H,写出下列指令单独执行后的结果。
SHR DX,1 ; DX=__________;
SAL DH,1 ; DX=__________。
根据要求写出相应的汇编指令或伪指令。
将字节数据56H,0B3H,77H,14H存放在字变量ALPHA的存储单元中(不改变数据字节存储次序)。 ____________________
定义伪指令 VAR1 DW 9
VAR2 DB “HELLO!”
LEN EQU $-VAR1
后,LEN=____________________
在STRING为首地址的存储单元中存放字符串‘I AM A STUDENT’。
____________________
四、分析下面的程序或程序段,根据题意写出结果。(共20分)
1.读下面的程序,分析其功能。若在运行该程序后,AL的内容是多少?(6分)
DATA SEGMENT
ARRAY DB 12H,45,32,24H,5,58,23,36,40H,16
LEN EQU $-ARRAY
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
LEA BX,ARRAY
MOV CX,LEN
MOV AL,[BX]
AGAIN: CMP AL,[BX]
JAE NEXT
MOV AL,[BX]
NEXT: INC BX
LOOP AGAIN
RET
MAIN ENDP
CODE ENDS
END MAIN
2.读下面的程序,分析其功能。(7分)
在运行该程序后,若从键盘输入‘AB1029C765DEF 2’后回车,AX的数值是多少?
若从键盘输入‘123,Please FOLLOW me!’后回车,AX的数值又是多少?
DATA SEGMENT
MAXLEN DB 50
ACTLEN DB ?
STRING DB 50 DUP(?)
NUM DW 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AH,0AH
LEA DX,MAXLEN
INT 21H
MOV CH,0
MOV CL,ACTLEN
LEA BX,STRING
AGAIN:MOV AL,[BX]
CMP AL,41H
JB NEXT
CMP AL,5AH
JA NEXT
INC NUM
NEXT:INC BX
LOOP AGAIN
MOV AX,NUM
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.读下面的程序,分析其功能,写出在下列条件运行此程序的结果。(7分)
从键盘上输入字符‘R’;
从键盘输入‘U’;
从键盘输入字符‘r’。
DATA SEGMENT
STRING DB ‘ARE YOU READY ?’
LEN EQU $-STRING
MSG1 DB 0DH,0AH,'YES!','$'
MSG2 DB 0DH,0AH,’NO!’, '$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,01H
INT 21H
LEA SI,STRING
MOV CH,0
MOV CL,ACTLEN
DEC SI
REPEAT:INC SI
CMP AL,[SI]
LOOPNE REPEAT
JNE NEXT
LEA DX,MSG1
MOV AH,09H
INT 21H
JMP EXIT
NEXT: LEA DX,MSG2
MOV AH,09H
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
五、编写程序(共10分)
从键盘输入4位16进制数,回车换行后,以二进制的形式输出该数。