輸入一串數字,然後進行加密解密輸出
程式執行:
mov ax,datas ;初始化ds
mov ds,ax
;輸出輸入提示
lea dx,input
mov ah,9
int 21h
;輸入一串字元
lea dx,line_max_len
mov ah,10
int 21h
;判斷字串長度是否為0
cmp line,0
jz nosize
;輸出加密的提示
lea dx,outputsecret
mov ah,9
int 21h
;加密mov cl,line
xor ch,ch
lea bx,secret ;獲取加密的位址表
mov si,0
s:mov al,line+1[si]
cmp al,'0' ;判斷要加密的字元是否合法
jb err
cmp al,'9'
ja err
sub al,30h ;加密
xlat
mov linesecret[si],al ;儲存加密的字元
inc si
loop s
mov linesecret[si],'$' ;設定字串結束標誌
lea dx,linesecret ;輸出加密的字串
call output
;輸出解密提示
lea dx,outputdesecret
mov ah,9
int 21h
;解密mov cl,line
xor ch,ch
lea bx,desecret ;獲取解密的位址表
mov si,0
s1:mov al,linesecret[si]
cmp al,'0' ;判斷要解密的字元是否合法
jb err
cmp al,'9'
ja err
sub al,30h ;解密
xlat
mov linedesecret[si],al ;儲存解密的字元
inc si
loop s1
mov linedesecret[si],'$' ;設定輸出字串結束標誌,並且輸出解密字串
lea dx,linedesecret
call output
jmp exit ;跳至退出
nosize:
lea dx,outputnosize ;沒有輸入提示
mov ah,9
int 21h
jmp exit
err:
lea dx,outputerr ;輸入錯誤提示
mov ah,9
int 21h
exit:
retmain endp
output proc near uses ax dx
mov ah,9
int 21h
retoutput endp
codes ends
end main
組合語言(十一)之統計非數字字元個數
輸入以 結尾的字串,統計並輸出非數字字元的個數 程式執行 mov ax,datas 初始化ds mov ds,ax lea si,inputprompt 輸出輸入提示 mov ah,2 mov cx,inputpromptlen 輸出輸入提示的字串長度 s2 mov dl,si int 21h 輸出...
計算字串長度 組合語言
設有一字串存放在以 buf 為首址的資料區中,其最後一字元 作為結束標誌,計算該字串的長度並輸出 datas segment buf db 20,20 dup datas ends stacks segment stacks ends codes segment assume cs codes,ds...
組合語言巧妙排序字串
用組合語言實現任意輸入字串排序,我主要是採用先分組,然後分別排序,在把兩個組合起來排序的使用演算法。在我的輸出結果頁面中,總共會有6行,第一行表示的是你所輸入的我們需要排序的字串,第二行表示的是將字串分為兩組其中的第一組,第三行表示的是將字串分為兩組其中的第二組,第四行表示的是對分成的第一組排序得到...