美文网首页汇编语言上机考试三星题
汇编语言上机考试三星题10

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

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

 

(***)在内存中定义一个用于加密的key和明文字符串,key中的每个数字表示将明文字符串中的对应字符进行旋转移位的次数,负数表示左移位,正数表示右移位。加密key的长度为10个字节:-2, 4, 1, 0, -3, 5,2, -4, -4, 6。先用加密key处理字符串的前10个字节,再处理接下来的10个字节,以此类推。将密文字符串保存在另一个变量中。

DATAS SEGMENT

    BUF1 DB 'ABCDEFGHIJABCDEFGHIJ'

    COUNT1 EQU $-BUF1

    BUF2 DB -2,4,1,0,-3,5,2,-4,-4,6

    COUNT2 DB 10

    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]

CMP AL,0

JL ZUO

MOV CL,AL

ROR AH,CL

MOV BUF3[SI],AH

JMP NEXT

ZUO:

NEG AL

MOV CL,AL

ROL AH,CL

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

相关文章

网友评论

    本文标题:汇编语言上机考试三星题10

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