Code Segment
Assume CS:Code,DS:Code
Prompt_Str db 'Please input a string: $'
Prompt_Str1 db 13,10,'The encoded string: $'
Press_Key db 13,10,13,10,'Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es
Output Prompt_Str ;提示输入字符串
lea dx,Buffer ;字符串缓冲区地址
mov ah,0ah ;dos功能调用0ah号功能:输入字符串
int 21h
lea si,Buffer[1] ;实际输入的字符个数地址
lodsb ;读入实际输入的字符个数
test al,0ffh
jz Exit_Proc ;若直接回车,未输入任何字符,则结束程序,返回操作系统
xor ah,ah ;累加器高位字节清零
mov cx,ax
@@Encoding: lodsb ;读入一个字符
mov ah,al
and ah,0dfh ;假定这个字符为字母,将小写变为大写
cmp ah,'A'
jb @@Next_Chr ;不是字母,不加密
cmp ah,'Z'
ja @@Next_Chr ;不是字母,不加密
add al,4 ;加密
mov ah,al
and ah,0dfh
cmp ah,'Z' ;加密后的字符超出字母范围?
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载