假设(DI)=148FH,(EBX)=12345678H,执行MOV [DI],EBX指令后,DS:148FH存储单元中的数据是
A.12H
B.34H
C.56H
D.78H
A.12H
B.34H
C.56H
D.78H
假设数据段有定义DST DW 1234H,5678H,则执行LES DI,DWORD PTR DST指令后(DI)=()。
A.5678H
B.3412H
C.1234H
D.7856H
假设(DS)=1000H,(DI)=0400H,(10410)=FFH,(10411H)=00H,下列指令执行(AX)值是0420H的指令是()。
A.LEA AX,20[DI]
B.MOV AX,OFFSET DI
C.MOV AX,20[DI]
D.LEA AX,[DI]
假设(DS)=1000H,(DI)=0400H,(10410H)=00H,下列指令执行后使(AX)=0420H的指令是()。
A.LEA AX,20[DI]
B.MOV AX,OFFSET DI
C.MOV AX,20[DI]
D.LEA AX[DI]
A.9
B.5
C.4
D.0
给定解释I如下:个体域为整数集合DI;DI中特定元素a0=0,a1=1;DI上特定函数f(x,y)=x-y,g(x,y)=x+y;DI上特定谓词F(x,y)为x<y.
给定以下公式,并在解释I下,求出公式的真值.
例如:
内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H)
结果为: 2345H,3456H,5643H,…(后面跟7个字,按照从小到大的顺序排列)。
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUTDAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EOU 10
SSEG SEGMENT STACK
DB 256 DUP ()
SSEG ENDS
DSEG SEGMENT
SOURCE DW N DUP ()
RESULT DW N DUP (0)
NAME0 DB 'INPUT.DAT',0
NAME1 DB 'OUTPUT.DAT',0
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N*2
CALL LOAD
; ******** BEGIN ********
MOV SI,OFFSET SOURCE
MOV DI, (1)
MOV CX,N
AGAIN0: MOV AX,[SI]
MOV [DI],AX
ADD SI,2
ADD DI,2
LOOP AGAIN0
CLD
MOV BX,N-1
AGAIN1: MOV SI,OFFSET RESULT
MOV CX,BX
AGAIN2: LODSW
CMP [SI], (2)
JAE NEXT
(3)
MOV [SI-2],AX
NEXT: LOOP (4)
DEC BX
JNZ (5)
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START