(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