汇编语言上机考试三星题9
2018-11-08 本文已影响0人
魔一方
(***)在内存中定义一个用于加密的key和明文字符串,用这个key的每个字符依次和明文字符串的对应字符进行异或操作得到密文字符串,并将密文字符串保存在另一个变量中。例如:key为“ABXmv#7”
明文字符串This a plain text
KeyABXmv#7ABXmv#7ABX
DATAS SEGMENT
BUF1 DB 'ABCDEFGHIJABCDEFGHIJ'
COUNT1 EQU $-BUF1
BUF2 DB '12345'
COUNT2 EQU $-BUF2
BUF3 DB 100 DUP(?)
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV ES,AX
MOV SI,0
MOV DI,0
MOV BH,COUNT1
MOV BL,COUNT2
L:
MOV AH,BUF1[SI]
MOV AL,BUF2[DI]
XOR AH,AL
MOV BUF3[SI],AH
JMP NEXT
NEXT:
DEC BL
DEC BH
CMP BH,0
JE END0
INC SI
CMP BL,0
JE L2
INC DI
JMP L
L2:
MOV DI,0
MOV BL,COUNT2
JMP L
END0:
;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START