请编制程序PROG1.ASM,其功能是:以逻辑尺L变量对内存中连续存放着16个字的数进行去高字节操作:当L
请编制程序PROG1.ASM,其功能是:以逻辑尺L变量对内存中连续存放着16个字的数进行去高字节操作:当L的i位为1则将第i数据的高字节置为全0,当L的i位为0则第i数据不变。将处理的结果存入RESULT指示的内存区。
例如:
设L=0005H
源数:1111H,2222H,3333H,4444H,5555H,6666H…
结果:0011H,2222H,0033H,4444H,5555H,6666H…
部分程序已经给出,其中原始数据由过程LOAD从文件INPUTl.DAT中读入SOURCE开始的内存元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令也可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
PROG1.ASM文件内容如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 16
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
L DW ?
SOURCE DW N DUP(?)
RESULT DW 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 DX,L ;数据区起始地址
LEA SI,NAMEO ;原始数据文件名
MOV CX,2*(N+1) ;字节数
CALL LOAD ;从input1.dat文件中读取数据
;* * * * BECIN * * * *
LEA SI,SOURCE
_______
MOV CX,N
MOV DX,_____
LO: MOV AX,[SI]
_____ L,DX
_____ STORE
NOT AX
STORE: MOV [DI],AX
ADD DI,2
ADD SI,2
LOOP LO
;* * * * END * * * *
LEA DX,RES
;* * * * BEGIN * * * * LEA SI,SOURCE LEA DI,RESULT ;取结果区首址 MOV CX,N MOV DX,1 ;定义递移检测位初值 LO: MOV AX,[SI] TRST L,DX ;测定当前数据的操作性质 JP STORE ;不操作 AND AX,00FFH ;置高字节全0 STORE: MOV [DI],AX ADD DI,2 ADD SI,2 SHL DX,1 ;递移检测位左移 LOOP 10 ; * * * * END * * * *
如图所示,光滑水平面上静止放着长L=1.6m,长L=1.6m,质量M=3kg的木板静止放在光滑的水 物理 2020-05-17 …
某商场购进一批L型服装(数量足够多),进价为40元/件,以60元/件销售,每天销售20件,根据市场 数学 2020-06-05 …
在温度不变、恒容的容器中进行反应H2⇌2H△H>c,若反应物的浓度由c.5mol•L-5降到c.c 化学 2020-07-09 …
概率统计问题,急,推广的二项系数公式(-r,L)=(-1)^L(r+L-1,L)怎么得来的?∞∑( 数学 2020-07-30 …
怎样把电灯开关改成插座+开关的那种?线改怎么接刚买的带开关和插孔的那插座是这样的!上面有三个孔.开关 物理 2020-12-03 …
口算题7.它+它.u=0.7×16-16×0.它=6÷1.它=9.它÷它.3=它l÷l+16÷l=1 数学 2020-12-13 …
m路B+树是一棵m路平衡索引树,除了根节点之外的节点中关键字最多最少分别为?假设函数U(x)为对小数 数学 2020-12-17 …
PCR引物浓度一般选多少?进行PCR反应时的两条引物浓度选多少度合适?一般是多大范围?我把引物浓度稀 其他 2020-12-25 …
通讯员从一列长为L的沿直线公路前进着的队伍排尾出发,追到排头后又返回排尾,在他往返一次的这段时间内, 物理 2021-01-12 …
通讯兵从一列长度为L的前进着的队伍的排尾到排头之间往返一次,在这段时间内,队伍前进的位移是3L,则通 物理 2021-01-12 …