首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
请编制程序,其功能是:内存中连续存放着10个二进制字节数,需对此组数进行加密,其方法为:将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换;第一个字节数的高位十六进制数与
admin
2009-02-15
75
问题
请编制程序,其功能是:内存中连续存放着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认为信息系统开发的根本出点之一是希望计算机化的信息系统应注意和强调投资效益,特别是可见效益、【】,否则难以持久。
J.Martin指出,一个企业可能有几十个甚至几百个业务过程。在确定职能范围和业务过程中,()对系统适应性是至关重要的。
用原型法开发信息系统,先要提供一个原型,再不断完善,原型是()。
以下关于建立主题数据库目的的说法中,错误的是()。
主题数据库的确定是战略数据规划的重要内容,下述有关叙述正确的是
下列对关系的叙述中,哪个是不正确的?
下列关于管理信息系统(MIS)和决策支持系统(DSS)的叙述中,哪一个是不正确的?
Pentium微处理器中共有几个段寄存器?
若(AX)=65AOH,(BX)=0B79EH,它们均为有符号数,问执行ADDAX,BX指令后,SF和OF标志位的状态分别是( )。
下面关于有线全双工通信的叙述,正确的是( )。
随机试题
钠是细胞_______的主要阳离子。
患者,女性,75岁,患高血压20年,平日血压控制在140/90mmHg,糖尿病10年,应用降糖药物控制血糖。近半月来偶发心前区疼痛,闷痛多持续1~2分钟,经休息可缓解,1天来心前区疼痛持续6小时不缓解,精神烦躁,恶心呕吐1次,故急送医院。测BP130/90
不寐,多梦,易于惊醒,胆怯心悸,倦怠气短,脉弦细,最佳治疗方剂是( )。
沉淀池的总高度H=h1+h2+h3+h4+h5其中h5是指()。
ThisisatalkbyaLondontaxidriver.I’vebeenataxidriverfor【C1】______tenyears.【C2】______Londontaxidrivershavet
注意事项1.申论考试是对应考者阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力的测试。2.作答参考时限:阅读材料40分钟。作答110分钟。3.仔细阅读给定材料。按照后面提出的“作答要求”依次作答。4.请在
有3户人家共订了10份日报,每户人家至少2份,最多4份。问:一共有多少种不同的订法?()
Twoofthemostcommonrumorsaboutimmigrantfamiliesarethattheydon’treallywanttobecomeAmericanandthatthey’readra
Icannottellthe______differencebetweenthetwins.
颐和园(theSummerPalace)是世界上建筑规模最大、保存最完整、文化内涵最丰富的皇家御苑,被誉为皇家园林博物馆。园内建筑吸收了中国各地建筑的精华。东部的宫殿区和内廷区,是典型的北方四合院(quadrangle)风格。南部的湖泊区是仿杭州西湖景
最新回复
(
0
)