汇编语言上机考试三星题9

(***)在内存中定义一个用于加密的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

你可能感兴趣的:(汇编语言上机考试三星题9)