彙編利用cmp指令將小寫字母轉換為大寫字母

2021-08-19 22:18:29 字數 1026 閱讀 5175

這裡主要是先和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...