根据16位逻辑变量L的内容对内存单元中连续存放的十六个字符的数组SOURCE作如下处理: (1)若L的第
根据16位逻辑变量L的内容对内存单元中连续存放的十六个字符的数组SOURCE作如下处理:
(1)若L的第i位为1,将SOURCE[i]的最高位置加偶校验位
(2)若L的第i位为0,SOURCE[i]不变
例如:L=0005 转换之前:67H,61H,4EH,38H……
转换之后:E7H,61H,4EH,38H……
部分程序已经在PROG1.ASM中给出,请填空BEGIN到END之间已经给出的源程序,使其完整(空白已经用横线标出,每行空白一般只需要一条指令,但功能相当的多条指令亦可)或删除BEGIN与END之间的原有代码并自行编写程序片段完成所需的功能。
原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由SAVE保存到OUTPUT1.DAT文件。
对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。
部分源程序如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 16
STAC SEGMENT STACK
DB 128 DUP (?)
STAC ENDS
DATA SEGMENT
L DW ?
SOURCE DB N DUP(?)
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 DX,L ; 数据区起始地址
LEA SI, NAME0 ; 原始数据文件名
MOV CX,2 + N ; 字节数
CALL LOAD ; 从"INPUT1.DAT"中读取数据
**** BEGIN ****
LEA SI, SOURCE
LEA DI, RESULT
MOV CX,N
MOV DX, (1)
LO: MOV AL, [SI]
(2) L,DX
JZ STORE
AND AL,AL
(3) STORE
(4)
STORE: MOV [DI],AL
INC SI
INC DI
(5)
LOOP LO
***** END *****
LEA DX,RESULT ; 结果数据区首地址
LEA SI, NAME1 ; 结果文件名
MOV CX,N ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
&nbs
(1) 1 (2) TEST (3) JP (4) OR AL,80H (5) SHR L,1 或 SHL DX,1
先约分,然后在每组中全出一个与众不同的分数1.十六分之四二十分之十八十六分之十四八分之六三十二分之 数学 2020-04-27 …
一个真分数,分子,分母的最小公倍数是72,如果把它约成最简分数,那么在分子上加1,分数值就等于1, 数学 2020-05-16 …
1、1.01>口>口>12、0.48平方米=()平方分米3、368500读作(三十六1、1.01> 数学 2020-05-22 …
8.计算机的存储器由千千万万个小单元组成,每个小单元存放.A.8位二进制数B.1位二进制数C.1位 其他 2020-06-16 …
大学计算机基础题提问BCD是用二进制码表示1位十进制数A.2位B4位C.8位下列字符中,ASCII 其他 2020-07-09 …
数制转换专题,写出转换的详细过程。1将十进制数257分别转换成其对应的二进制、八进制和十六进制?2 其他 2020-07-19 …
一个与三十六计的作者有关,一个与阿兹特克人末日传说有关1,三十六计中有些语句出自《易经》,且书中的 其他 2020-07-25 …
用以下线索破译密码:1.密码是一个六位数.2.这个六位数在800000和900000之间,并且千位 数学 2020-07-29 …
判断题,对;或错.个位,十位;百位,都是计数单位.().写数时,哪一位上一个单位也没有,就在那一位 数学 2020-07-31 …
某公司想为每个员工分配一个唯一的十六进制位帐号以便计算机管理.如果有500位员工,则最少需要位十六进 数学 2020-12-01 …