本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一. 填空题(共6题,70分)
1. (填空题, 10分)下面指令序列执行后完成的运算,正确的算术表达式是( ) MOV AL,BYTE PTR X SHL AL,1 DEC AL MOV BYTE PTR Y,AL
-
我的答案:
(1) Y = X * 2 - 1
-
正确答案:
(1)
y=x2-1;Y=X2-1;Y=2X-1;y=2x-1
2. (填空题, 10分)已知AX的值是1234H,执行下述三条指令后,AX的值是( )。 MOV BX,AX NEG BX ADD AX,BX
-
我的答案:
(1) 0000H
-
正确答案:
(1) 0000H;0H
3. (填空题, 10分)数据段定义如下: X1 DB 10H,50,1 X2 DW 10H,20,3 X3 DD ? COUNT EQU X3-X1变量COUNT的值是( )
-
我的答案:
(1) 9
-
正确答案:
(1) 9
4. (填空题, 15分)下述程序段完成计算2~20之间的偶数的和,并存于AX中。试把空白处填上适当的指令。 XOR AX,AX MOV BX,0 ( ) CONT: ADD AX,BX ( ) LOOP CONT
-
我的答案:
-
(1) MOV CX,11
-
(2) ADD BX,2
-
-
正确答案:
-
(1) MOV CX,11
-
(2) ADD BX,2
-
5. (填空题, 15分)下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1。试把空白处填上适当指令。 ( ) AND AH , 08H ( ) MOV AH , OFFH JMP NEXT ZERO: MOV AH , 0 NEXT: ……
-
我的答案:
- (1) XOR AH,AL
- (2) JZ ZERO
-
正确答案:
-
(1) XOR AH, AL
-
(2) JZ ZERO;JE ZERO
-
6. (填空题, 10分)根据如下程序段填空: MOV AL , 38H MOV BL , 49H CALL SUBO INC AL DEC CL ……SUBO PROC ADD AL , BL MOV CL , AL DAA RETSUBO ENDP上述程序段运行后,AL的值是( ),CL的值是( )
-
我的答案:
- (1) 88H
- (2) 80H
-
正确答案:
-
(1) 88H
-
(2) 80H
-
二. 简答题(共2题,30分)
7. (简答题, 20分)简述上机运行汇编语言程序的过程
-
我的答案:
-
用编辑软件编辑汇编语言源程序文件:XXX.ASM\
-
使用汇编程序进行汇编,汇编为XXX.obj文件(eg:MASM.EXE)
-
使用连接程序进行连接,连接为XXX.exe文件(eg:LINK.EXE)
-
运行可执行文件
-
-
正确答案:
本题共20分
(1)编辑源程序 (2)将源程序汇编为目标程序 (3)将目标程序连接成执行的文件 (4)运行可执行的文件
8. (简答题, 10分)简述程序中指令和伪指令的区别
-
我的答案:
指令:指令是能被计算机识别并执行的二进制代码,规定了计算机能完成的某一操作。每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码),所以这种语句又叫做可执行语句,每一条指令语句表示CPU具有的一个基本能力,比如数据传送,两数相加或相减,移位等,而这种能力是在目标程序运行时完成的,是依赖于CPU、存储器、IO等接口设备来实现的。
伪指令:伪指令不是在运行期间由计算机来执行的,而是在汇编程序对源程序汇编期间由汇编程序处理的操作,它们向汇编程序提供一些信息。伪指令在编辑汇编程序时使用,也以指令的形式出现在程序中,但汇编后消失,不生成任何机器代码。它不是真正的指令,也就是不是最终的指令,是用于指示汇编程序如何汇编源程序,所以这种语句又叫命令语句,例如伪指令告诉汇编程序,该源程序如何分段,有哪些逻辑段在程序段中,哪些是当前段等等,伪指令语句的这些命令功能是由汇编程序在汇编源程序时,通过执行另外一段程序来完成的,而不是在运行目标程序时实现的。
-
正确答案:
本题共10分
指令语句在源程序汇编时都要产生可供计算机执行的目标代码,它规定了计算机能完成的某种操作;伪指令语句用于指示汇编程序如何汇编源程序,在汇编后不生成目标代码。