汇编 字符串加密

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013589137/article/details/80009047

1)编程为datasg段中字符串中的每个字符加密,加密规则是:每个字符的ASCII值加4。加密好的字符写在待加密字符的后面

assume cs:codesg,ds:datasg
datasg segment
      db 'aah, I love you!'
      db '................'
datasg ends
codesg segment
start: mov ax,datasg
       mov ds,ax
       mov ax,0
       mov bx,0
       mov cx,16
     s:mov ax,[bx]
       add ax,4
       mov [bx+16],ax
       inc bx
       loop s        

       mov ax,4c00h
       int 21h
codesg ends
end start

2)编程为datasg中的每个字符串加密,加密的规则是,每行第1个字符ASCII码加1,第2个字符ASCII码加2,依类类推。已知每个字符串固定为16个字符,非空格字符不足16的,后都是空格。加密后的符号替代原字符,就写在原处。

assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
      db 'He Li Jian      '
      db 'Zhai Yi Ming    '
      db 'Bi Yuan Wei     '
      db 'Ma Wen Ming     '
datasg ends
stacksg segment
      dw 0
stacksg ends
codesg segment
start: mov ax,datasg
       mov ds,ax
       mov ax,stacksg
       mov ss,ax
       mov ax,0
       mov bx,0
       mov cx,4
     s:
       push cx 
       mov cx,16
       mov dx,1
       l:mov ax,[bx]
        add ax,dx
        mov [bx],ax
        add bx,1
         add dx,1
         loop l
       pop cx
       loop s        

       mov ax,4c00h
       int 21h
codesg ends
end start

猜你喜欢

转载自blog.csdn.net/u013589137/article/details/80009047