首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能为:内存中存放着10个二进制数,需对此数组进行加密。方法为将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换:第一个字节数的高位十六进制数与最后一个字节
请编制程序,其功能为:内存中存放着10个二进制数,需对此数组进行加密。方法为将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换:第一个字节数的高位十六进制数与最后一个字节
admin
2009-02-15
58
问题
请编制程序,其功能为:内存中存放着10个二进制数,需对此数组进行加密。方法为将前一个字节数(两位十六进制数a1a2表示)的低位十六进制数a2与后一个字节数(两位十六进制数b1b2表示)的高位十六进制数b1进行交换:第一个字节数的高位十六进制数与最后一个字节的低位十六进制数进行交换,加密后的结果存入内存。
例如:内存中原始数据为:50H,61H,72H,83H,94H,…,E9H
结果:90H,07H,18H,29H,3AH,…,85H
部分程序已经给出,其中原始数据由LOAD 过程从文件INPUT1.DAT 中读入从SOURCE开始的内存单元,转换结果(要求从RESULT开始读入)由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1. EXE执行文件,最终产生运行结果。
部分程序如下:
;PROG1.ASM
EXTRN LOAD:FAR, SAVE:FAR
N EQU 10
DSEG SEGMENT
SOURCE DW N DUP (?)
RESULT DW N DUP (0)
NAME0 DB ’INPUT1.DAT’,0
NAME1 DB ’OUTPUT1.DAT’,0
DSEG ENDS
SSEG SEGMENT STACK
DB 128 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG;SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX, DSEG
MOV DS,AX
MOV ES, AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
MOV DI,0
MOV SI,0
MOV CX,N
CONT: MOV AL, SOURCE [SI]
MOV AH,AL
AND AL,0FH
AND AH,0F0H
INC SI
CMP SI,N
____________
MOV SI,0
ONE: MOV BL, SOURCE [SI]
MOV BH,BL
AND BL,0FH
AND BH,0FOH
____________
MOV CX,4
LI: SBR BH, 1
SHL AL,1
LOOP L1
______,CX
OR AH,BH
OR AL,BL
CMP DI, 0
JNZ STOPE1
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 ______, AH
MOV ______, AL
NEXT: INC DI
LOOP CONT
; *** END ***
LEA DX, RESULT
LEA SI, NAME1
MOV CX, N
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
选项
答案
; *** BEGIN *** MOV DI, 0 MOV SI,0 MOV CX,N CONT: MOV AL, SOURCE [SI] MOV AH, AL AND AL, 0FH ; 取得低4位 AND AH, 0F0H ; 取得高4位 INC SI CMP SI,N JBE ONE ; 不是最后一个数,跳转至ONE MOV SI, 0 ONE: MOV BL,SOURCE [SI] MOV BH, BL AND BL, 0FH AND BH, 0F0H PUSH CX MOV CX, 4 L1: SHR BH, 1 SHL AL, 1 LOOP L1 ; 循环移位 POP CX OR AH, BH ; 加密运算 OR AL, BL ; 加密运算 CMP DI,0 JNZ STORE1 MOV SOURCE[S1), AL ; 交换位置 DEC SI MOV SOURCE[SI],AH ; 交换位置 INC SI JMP NEXT STORE1: CMP DI,N-1 ; 处理的是最后一个数据? JL STORE2 ; 不是则跳转至STORE2 MOV RESULT[DI],AH MOV DI,0 MOV RESULT [DI],AL JMP NEXT STORE2: MOV RESULT [D1],AH MOV SOURCE [SI],AL NEXT: INC DI ; 结果数据指针加1 LOOP CONT ; 继续处理 ; *** END *** [INPUT1.DAT 中的输入数据]: 50H,61H,72H,83H,94H,2BH,51H,11H,45H,E9H [输出结果]: 90 07 18 29 32 45 B1 14 1E 50
解析
转载请注明原文地址:https://kaotiyun.com/show/68rZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
下面关于微处理器的叙述中,不正确的是()。
在软件测试中黑箱测试的主要任务是通过______测试来检查程序的。
信息认证是信息安全的重要方面,它有两个方面的含义,其一是验证信息发送者的真实性,另一方面是验证信息的______。
下述功能都是企业MIS的重要功能的组成部分,其最基本的功能是
软件开发中的各种流程图有多种表示方法和形式,其中在国家标准GB8566-88关于软件开发流程图中,方框表示()。
软件的()是指软件在所给的环境条件下和给定的时间内,能完成所要求功能的性质。
主题数据库的确定是战略数据规划的重要内容,下述有关叙述正确的是
函数ReadDat()的功能是实现从文件IN2.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数SUOL(),该函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组
若(AL)=80H,执行NEGAL指令后,CF和OF标志位的状态分别为
数码相机是一种常用的图像输入设备。下面有关数据相机的叙述中,错误的是
随机试题
皮下注射是将药物注入
患者,男,35岁。慢性肾炎病史15年,最近突感乏力、恶心呕吐,常有腿抽筋、皮肤瘙痒,急诊检查肾功能示:BUN30.5mmol/L,Cr768mmol/L,血钾6.8mmol/L,血钠138mmol/L,血氯105mmol/L,最恰当的治疗方
眉心至前发际的骨度分寸是大椎穴至后发际的骨度分寸是
疹的主要特点是
A.疏风清热解毒B.清肝泻火利湿C.利湿清热解毒D.凉血清热解毒E.解毒清暑化湿丹毒发于胸腹腰胯部,红肿疼痛,其治法是
下列哪点不是新生儿坏死性小肠结肠炎的主要临床特点
下列权利中,属于人格权的是()。
下列关于法人的表述,错误的是( )。
如下图,在△OAB中,,AD与BC交于点M.设,以a、b为基底表示.[img][/img]
对SQL语句进行性能调优属于数据库应用系统【1】阶段的任务。
最新回复
(
0
)