美文网首页
汇编语言上机考试三星题9(二刷)

汇编语言上机考试三星题9(二刷)

作者: 魔一方 | 来源:发表于2018-11-14 16:41 被阅读0次

    9. (***)在内存中定义一个用于加密的key和明文字符串,用这个key的每个字符依次和明文字符串的对应字符进行异或操作得到密文字符串,并将密文字符串保存在另一个变量中。例如:key为“ABXmv#7”

    明文字符串 T h i s a p l a i n t e x t

    Key A B X m v # 7 A B X m v # 7 A B X

    新题确实要简单一点,这道题的思路就是从BUF1读到AH,BUF2读到AL,XOR然后再送到BUF3。。。

    注意循环的结束标志和重复标志。

    DATAS SEGMENT

        BUF1 DB'ABCDEFGHIJ'

        COUNT1 EQU $-BUF1

        BUF2 DB 'ABXmv#7'

        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

    CHULI:

    MOV AH,BUF1[SI]

    MOV AL,BUF2[DI]

    XOR AH,AL

    MOV BUF3[SI],AH

    INC SI

    CMP SI,COUNT1

    JE END0

    INC DI

    CMP DI,COUNT2

    JE HUI

    JMP CHULI

    HUI:

    MOV DI,0

    JMP CHULI

        ;此处输入代码段代码

    END0:

        MOV AH,4CH

        INT 21H

    CODES ENDS

        END START

    相关文章

      网友评论

          本文标题:汇编语言上机考试三星题9(二刷)

          本文链接:https://www.haomeiwen.com/subject/whvjfqtx.html