交换寄存器SI,DI的内容,正确的程序段是()A.PUSH SI PUSH DI POP SI POP DIB.PUSH SI
交换寄存器SI,DI的内容,正确的程序段是()
A.PUSH SI PUSH DI POP SI POP DI
B.PUSH SI PUSH DI, POP SI,DI
C.MOV AX,SI MOV SI,DI MOV DI,AX
D.MOVAX,SI MOV BX,DI XCHG BX,AX
交换寄存器SI,DI的内容,正确的程序段是()
A.PUSH SI PUSH DI POP SI POP DI
B.PUSH SI PUSH DI, POP SI,DI
C.MOV AX,SI MOV SI,DI MOV DI,AX
D.MOVAX,SI MOV BX,DI XCHG BX,AX
交换寄存器SI、DI的内容,正确的程序段是()。
A.PUSH SI
B.PUSH SI PUSH DI PUSH DI POPSI POPDI POPDI POPSI
C.MOVAX,SI
D.MOV AX,SI MOVSI,AX MOV BX,DI MOVDI,BX XCHG BX,AX
A、PUSH SI
B、PUSH SI
PUSH DI
PUSH DI
POP SI
POP DI
POP DI
POP SI
C、MOV AX,SI
D、MOV AX,SI
MOV DI,SI
MOV BX,DI
MOV DI,AX
XCHG BX,AX
12h blk2 db 21h,43h,65h,87h,90h count equ $-blk2 sum0 db 6 dup (00h) data ends code segment assume cs:code, ds:data start: mov ax, data mov ds, ax lea si, blk1 lea bx,blk2 lea di,sum0 mov cx, count clc aa:mov al, [si] adc al, [bx] daa mov [di], al inc si inc bx inc di loop aa mov al, 00h adc al, 00h mov [di], al mov ah,4ch int 21h code ends end start
A.4和3
B.7和2
C.9和1
D.10和0
例如:
原压缩BCD码:26H,75H,91H,33H…
结果为: B2H,36H,B7H…
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段原程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP()
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(0)
RESULT DB 2*N DUP(0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX ;置附力,段寄存器
LEA DX,SOURCE ;数据区起始地址
LEA SI,NANE0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'INPUT1.DAT' 中读取数据
; *************BEGIN *************
LEA SI,SOURCE
MOV DI,OFFSET RESULT
MOV CX,N
SERCH1: MOV (1)
MOV AH,AL
AND AH,0FH
AND AL,0FOH
PUSH CX
MOV CL,4
(2)
(3)
ADD AL,30H
(4)
OR AL,80H
SERCH2: MOV [DI],AL
INC DI
(5)
JP SERCH3
OR AH,80H
SERCH3: MOV [DI],AH
INC DI
INC SI
(6) SERCH1
; ******** END ***********
LEA DX,RESULT ; 结果数据区首址
LEA
A.MOV SI,CX
B.SUB BX,BX
C.DEC BX
D.INC BX
例如:
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段原程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
[试题程序]
EXTRN LOAD:FAR,SAVE:FAR
N EQU 40
STAC SEGMENT STACK
DB 128 DUP ()
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(0)
RESULT DB N+2 DUP(0)
NAME0 DB 'INPUT1.DAT',0
NAME1 DB 'OUTPUT1.DAT',0
NDATA DB N DUP(0)
PDATA DB N DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX ;置附加段寄存器
LEA DX,SOURCE ;数据区起始地址
LEA SI,NANE0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'INPUT1.DAT'中读取数据
**********BEGIN**********
LEA SI,RESULT
(1) DI,OFFSET PDATA ;PDATA为正数数组存放缓冲区首址
NOV BX,OFFSET NDATA ;NDATA为负数数组存放缓冲区首址
XOR DX,DX
MOV CX,N
CLD
MAIN1: LODSB
TEST AL, (2)
Z MAIN2
NC DH
OV [BX],AL
NC BX
(3)
MAIN2: INC DL
OV [DI],AL
NC DI
NAIN3: (4) NAIN1
EA SI,PDATA
A DI,RESULT
OV [DI],DL
NC&nb
下列程序执行后,SI寄存器中的内容是______。
1 MOV SI, -1
2 MOV CL, 4
3 SAL SI, CL
4 AND SI, 7FFFH
5 OR SI, 8000H
6 NOT SI