首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
admin
2009-02-15
76
问题
请编制程序,其功能是:内存中连续存放着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全国计算机三级
相关试题推荐
以下有关建立企业模型关键成功因素的若干论述中,错误的是()。
以下关于数据流程图的描述中,错误的是
用来表示数据在系统中各种物理模块构成元素如程序、设备和数据之间的流动状况的工具是
开发策略是根据什么和工作内容而采取的行动方针和工作方法?
S-Designer是一种可视化的数据库设计工具,它的后续版本是Power-Designer,它具有很强的数据库建模功能。如下所列出的功能中,哪一项不是它的功能?
当数据库遭到破坏时,将其恢复到数据库破坏前的某种一致性状态,这种功能称为数据库的______。
在计算机系统中,负责计算机各个部分自动协调地工作,完成对指令的解释和执行的部件是
JamesMartin强调,大多数企业都存在企业经营关键成功因素,下列叙述错误的是
下列对关系的叙述中,哪个是不正确的?
在计算机硬件系统的基本组成中,完成解释指令、执行指令的功能部件是
随机试题
精神文化的表现形式和物质文化实现的保证是()
A.乙胺丁醇B.异烟肼C.吡嗪酰胺D.链霉素E.利福平对结核病灶中B群细菌杀菌活性最强的药物是
A,骨髓粒、红两系病态造血,骨髓原始细胞>5%,环形铁粒幼红细胞>15%B,骨髓粒、红两系病态造血,骨髓原始细胞
做血培养的采血时机是
下列哪些说法是错误的?()
管道滑动支架以支承面中心为起点进行反方向安装的偏移量应为位移值的()。[2014年真题]
以地下水为水源的饮用水处理工艺中,经常由于水中铁量超标而设置除铁单元。通常的除铁处理工艺流程中不包括()。
收到所有者权益投资的价值50万元的机器设备,则()。(3.2)
无论何种情况下,融资租赁的承租人均应该以出租人的租赁内含利率或合同规定利率作为未确认融资费用的分摊率。()
A、Inarestaurant.B、Inhisoffice.C、Onthestreet.D、Onaplane.D题目问男士衬衫上的污渍是从哪里来的。对话的最后,男士告诉自己的妈妈,空姐正伸手给坐在自己旁边的男士提供饮料,突然一股湍流
最新回复
(
0
)