![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是 () 字节。A 2KB 4KC 8KD
某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是 () 字节。
A 2K
B 4K
C 8K
D.16K
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是 () 字节。
A 2K
B 4K
C 8K
D.16K
A.0003H
B.0300H
C.0400H
D.0004H
例如:
内存中有:50H,61H,72H,83H,94H,A5H,B6H,C7H,D8H,E9H
结果为:96H,07H,18H,29H,3AH,4BH,5CH,6DH,7EH,85H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
EXTRN LOAD:FAR, SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP()
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP() ; 顺序存放10个ASCII字符
RESULT DB 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
LEA OX,SOURCE ; 数据区起始地址
LEA SI,NAMEO ; 原始数据文件名
MOV CX,N ; 字节数
CALL LOAD ; 从INPUT1.DAT中读取数据
;****BEGIN****
MOV DI,0
MOV SI,0
MOV CX,N
AGN1: MOV AL,SOURCE[SI]
MOV AH ,AL
AND AL,0FH
AND AH,0FOH
INC SI
CMP SI,N
(1)
MOV SI,0
LW: MOV BL,SOURCE[SI]
MOV BH,BL
AND BL,0FH
AND BH,0FOH
(2) CX
MOV CX,4
L1: SHR BH,1
SHL AL,1
LOOP L1
&
(DS)2000H, (BX)=0100H, (SI)=0002H, (20100)=12H, (20101)=34H, (20102)=56H,(20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=12H, (21203)=65H,下列指令执行后填入AX寄存器的内容。
MOV AX, 1200H ;(AX)=______
MOV AX, BX ;(AX)=______
MOV AX, [1200H] ;(AX)=______
MOV AX, [BX] ;(AX)=______
MOV AX, 1100 [BX] ;(AX)=______
MOV AX, [BX] [SI] ;(AX)=______
MOV AX, 1100 [BX] [SI] ;(AX)=______