执行上述程序片段后, CF= 1 (1 分) ,OF= 0 (1 分) ,PF= 0 (1 分) 62.阅读如下程序片段 MOV AL,0F3H MOV DL,0C4H ADD AL,DL AND AL,0FH
执行上述程序片段后, CF= 0 (1 分) ,OF= 0 (1 分) ,PF= 0 (1 分) 63.阅读如下程序片段 MOV AL,7EH MOV CL,04H ROL AL,CL
执行上述程序片段后, CF= 1 (1 分) ,OF= 无意义 (1 分) 64.阅读如下程序片段 MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX
执行上述程序片段后, OF= 0 (1 分)
65.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H) =28H
MOV BX,0024H LEA BX,[BX] OR BX,0 ADC BX,[BX]
执行上述程序片段后, OF= 0 (1 分)
66.阅读如下程序片段,假设(SP)=0064H MOV AX,0001H MOV BX,0002H PUSH AX PUSH BX POP AX POP BX
执行上述程序片段后, (SP)= 0064H (1 分)
67.阅读下面程序段并填空:
MOV DL,AL NOT DL
TEST DL,04H JE NEXT
┇
NEXT:…
若上述程序段执行时产生分支, 是多少?CF=0
68.已知:BX=4567H NEG BX INC BX NEG BX DEC BX
程序段执行后,BX=_4565H__,CF=___1___。 69.阅读下面程序段并填空: MOV BL,64H MOV CL,03H XOR AX,AX
AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN
问:(1)该程序段完成的功能是:将 AX 内容乘 3 送 BX 中 (2)AX=__012CH___。 70.已知数据段中定义
DAT1 DB 12H,34H,56H,78H MOV CX,0
MOV AX,WORD PTR DAT1 MOV CL,DAT1+3
当程序段执行完后AX=_3412H___,CX=__0078H__。 71.阅读下面程序段并填空:
DA1 DB 83H,72H,61H,94H,5AH ┇
MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL
上述指令序列执行后,AL=__0A0H__,CL=_03H__。 51、有程序段如下: DATA SEGMENT
ARRAY DW 1223H,1276H,45H,567H,456H,67H,677H COUNT EQU ($-ARRAY)/2 DA1 DB ? DA2 DB ? DATA ENDS
…
LEA SI,ARRAY MOV CX,COUNT
NEXT1:MOV AX,[SI]
TEST AX,0001H JZ NEXT2 INC BL JMP NEXT3
NEXT2:INC BH NEXT3:ADD SI,2
DEC CX JNZ NEXT1 MOV DA1,BL MOV DA2,BH …
试问:
(1)该程序完成的功能是:____________。 3分)
(2)程序执行后,DA1和DA2单元的内容分别是: DA1)=__,52、有程序段如下: DATA SEGMENT
ARRAY DB OA2H,92H,45H,86H,45H,67H,77H,54H,89H,23H COUNT EQU $-ARRAY DATA1 DB ? DATA2 DB ? DATA ENDS
…
MOV BX,OFFSET ARRAY MOV CX,COUNT
NEXT1: MOV AL,[BX]
CMP AL,0 JET NEXT2 INC DL JMP NEXT3
NEXT2: INC DH NEXT3: INC BX
DEC BX JNZ NEXT1
MOV DATA1,DL MOV DATA2,DH
试问:
(1)该程序完成的功能是____________(3 分) (2)
53、有程序段如下: DATA SEGMENT DA1 DB 90H DA2 DB 100 DA3 DB ?
DA2)=__(各1分)
DA4 DB ? DATA ENDS
…
MOV AL,DA1 ADD AL,DA2 JO NEXT1 MOV DA3,AL MOV DA4,0 JMP NEXT2 NEXT1:MOV DA4,1 NEXT2:… 试问:
(1)该程序完成的功能是_____________ (5 分)。 (2)
54、有程序段如下: DATA SEGMENT
DA1
DB 65H DA2
DB 90H DA3
DB 56H RESULT DB DATA ENDS
…
MOV AL,DA1 ADD BL,DA2 MOV CL,DA3 CMP AL,BL JGE NEXT1 XCHG AL,BL NEXT1:CMP AL,BL
JGE NEXT2 XCHG AL,CL
NEXT2:MOV RESULT,AL 试问:
(1)该程序完成的功能__________(8 分)
(2)该程序执行后,RESULT 单元的内容是______(2 分)
51、 1)该程序完成的功能是分别统计ARRAY开始单元存放的奇数/偶数的个数。(2)DA1=05H,DA2=02H(2分)
52、 1)该程序完成的功能是分别统计ARRAY开始单元存放的正数/负数的个数。(2)DA1=06H,DA2=04H(2分)
53、 1)该程序完成的功能是实现两个数相加,并判断是否有溢出。 5分) (2)DA3=0FH,DA4=0(5分)
54、 1)该程序完成的功能是寻找三个数中最大的数。 8分) (2)RESULT=90H(2分)
3分)3分)
五.简答题:
1.简述上机运行汇编语言程序的过程。
答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保 存,再编译成机器指令,然后连接成可执行文件,即 exe 文件,最后再运行。 2.简述程序中指令和伪指令的区别。
答:能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。 伪指令是对汇编起某种控制作用的特殊命令, 程序的任何地方,但它们并不产生机器指令。 3.简述上机运行汇编语言程序的过程。
答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保 存,再编译成机器指令,然后连接成可执行文件,即 exe 文件,最后再运行。 4.下列语句在存储器中分别为变量分配多少字节? (1)AD2 DW 10 DUP(?)
(2)AD3 DD 100 DUP(?) 400
5.简述下面两条指令分别是什么语法错误? MOV [BX],[SI] MOV AX,DL
MOV指令不能在两个存储器操作数之间进行;
操作数类型不匹配。
6.在指令系统中,段内.段间返回均为 RET 指令。试回答:
(1)执行段内返回 RET 指令时,执行的操作是:栈顶内容→IP,SP+2→SP
(2)执行段间返回 RET 指令时,执行的操作是:①栈顶内容→IP,SP+2→SP ②栈顶内容→ CS,SP+2→SP 7.
ARY DW 10 DUP(?) ┇
MOV AL,TYPE ARY MOV BL,LENGTH ARY MOV CL,SIZE ARY
上述 MOV 指令序列执行后的结果是什么? AL=2 BL=10 CL=20
8.设某数据段: DATA SEGMENT ORG 20H NUM1=8
NUM2=NUM1+10H DA1 DB 'COMPUTER' DB 0AH,0DH COUNT EQU $-DA1
DA2 DW'CO','MP','UT','ER' DATA ENDS