首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
admin
2009-02-15
47
问题
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与最后一个字节数的低十六进制数进行交换,加密后的结果存入内存。
例如:
内存中有: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
(3) CX
OR AH,BH
OR AL,BL
CMP DI,0
JNZ STORE1
MOV SOURCE[SI],AL
DEC SI
MOV SOURCE[SI],AH
INC SI
JMP NEXT
STORE1: CMP DI,N-1
JL STORE2
MOV RESULT[DI],AH
MOV DI,0
MOV RESULT[DI],AL
JMP NEXT
STORE2: MOV (4) ,AH
MOV (5) ,AL
NEXT: INC DI
LOOP AGN1
;****END****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名
MOV CX,N ; 字节数
CALL SAVE ; 保存结果文件
RET
START ENDP
CODE ENDS
END START
选项
答案
(1)JNZ LW (2) PUSH (3) POP(4) RESULT [DI] (5) SOURCE [SI]
解析
本题属于数据加密算法的简单应用。对原数据进行加密时,首先要通过对高4位和低4位分别清0来做交换准备,同时当原数据指针下移时,要判断是否到了末尾。如果到了末尾,就要回头去取第1个字节,把它的高4位和末尾字节的低4位互换,接下来通过进行逻辑移位4次后,后一个字节的高4位与前一个字节低4位交换,前一个字节低4位与后一字节的高4位交换。
转载请注明原文地址:https://kaotiyun.com/show/98rZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
J.Madin认为信息系统开发的根本出点之一是希望计算机化的信息系统应注意和强调投资效益,特别是可见效益、【】,否则难以持久。
下面关于微处理器的叙述中,不正确的是()。
主题数据库与______有关,与一般应用项目无关。
SQL语言具有两种使用方式,它们在使用的细节上会有些差别,特别是SELECT语句。这两种不同使用方法的SQL,分别称为交互式SQL和()。
对软件是否能达到用户所期望的要求的测试称为
专家系统(ES)是一套问题求解系统,其通常采用的系统设计语言是()。
现有雇员信息表(雇员号:主键,雇员名,部门号,工资)和部门信息表(部门号:主键,部门名,地址)在雇员信息表中,哪个属性是外键?
下列叙述中正确的是()。
下列对关系的叙述中,哪个是不正确的?
Pentium微处理器中共有几个段寄存器?
随机试题
我党将公安机关直接置于自己的领导之下,这是()的要求。
投资条约中国民待遇条款的范围与意义。
国家垄断资本主义对国民经济的调节和管理()
没A是n阶方阵,且|A|=5,则|(5AT)-1|=()
A.铬黑B.酚酞C.淀粉D.结晶紫E.荧光黄下列滴定方法可选用的指示剂是碘量法
简述犯罪客体的种类。(2019一专一第51题,2019年一法专一第31题)
1
Americanmythologylovesnothingmorethanthereluctanthero:themanwhosenaturaltalentshavedestinedhimformorethanobl
windows系统中的磁盘碎片整理程序(1)______,这样使系统(2)______。(1)______A.仅将卷上的可用空间合并,使其成为连续的区域B.只能使每个文件占用卷上连续的磁盘空问,合并卷上的可用空间C.只能使每个文件夹占用卷
Historically,humansgetseriousaboutavoidingdisastersonlyafteronehasjuststruckthem.Bythatlogic,2006shouldhaveb
最新回复
(
0
)