這裡主要是先和0進行比較,如果cx為0了,那麼就直接利用jcxz指令直接跳轉到ret助理,然後再利用cmp指令去進行和小寫a的ascii碼進行比較,比較之後如果是小於就直接再去尋找下乙個字元,程式如下所示
assume cs:codesg,ds:datasg
datasg segment
db "beginner's all-purpose symbolic instruction code.",0
;資料datasg ends
codesg segment
begin:mov ax,datasg
mov ds,ax ;資料段
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
mov cl,ds:[si] ;字元是乙個乙個位元組的資料,所以就給8位暫存器cl
mov ch,0
jcxz s1 ;判斷是不是到最後1個了,最後乙個為0,所以如果cx為0,則直接ret
cmp cl,0x61h ;和97比較
jb s0 ;低於97 直接跳轉s0
sub cl, 0x20h ;轉換為小寫字母
mov ds:[si],cl ;重新設定資料
s0: inc si
jmp letterc ;繼續迴圈
s1:ret
codesg ends
end begin
執行結果如下圖所示 利用中斷程式將小寫字母轉換為大寫字母
下面需要去轉換的資料是將conversation轉換為大寫 assume cs code,ss stack,ds data data segment db conversation 0 data ends stack segment db 96 dub 0 stack ends code segme...
152 轉成小寫字母
實現函式 tolowercase 該函式接收乙個字串引數 str,並將該字串中的大寫字母轉換成小寫字母,之後返回新的字串。示例 1 輸入 hello 輸出 hello 示例 2 輸入 here 輸出 here 示例 3 輸入 lovely 輸出 lovely 這題目emm直接呼叫api實現,效率10...
彙編完成 「輸入小寫字母,輸出大寫字母」
data segment data a db a 左邊界標誌 data z db z 右邊界標誌 info db please input the right letter 輸入錯誤後提示資訊 data ends stack segment stack ends code segment assum...