【任務】
在資料區,給定用0作為結束的字串,請補充完成子程式,只保留字串中的大寫字母,並在最後乙個大寫字母後記錄0作為所有大寫字母構成的新字串的結束。(以下面程式資料區中給出的字串,最後得到的字串為ytu後加0)
assume cs:cseg, ds:dseg, ss:sseg
sseg segment stack
dw 100h dup (?)
sseg ends
dseg segment
db 'yantai university 264005', 0
dseg ends
cseg segment
start: mov ax, dseg
mov ds, ax
mov ax, sseg
mov ss, ax
mov sp, 100h
mov bx, 0
call getupper
mov ax, 4c00h
int 21h
;子程式名:getupper
;功 能:對從ds:bx開始,以0結束的字串,只保留大寫字母,並仍以0結束
;出口引數:無
getupper proc
; 請寫出你的**
retgetupper endp
cseg ends
endstart
【參考解答】
assume cs:cseg, ds:dseg, ss:sseg
sseg segment stack
dw 100h dup (?)
sseg ends
dseg segment
db 'yantai university 264005', 0
dseg ends
cseg segment
start: mov ax, dseg
mov ds, ax
mov ax, sseg
mov ss, ax
mov sp, 100h
mov bx, 0
call getupper
mov ax, 4c00h
int21h;子程式名:getupper
;功 能:對從ds:bx開始,以0結束的字串,只保留大寫字母,並仍以0結束
;出口引數:無
getupper proc
push ax
push si
push di
mov si,bx
mov di,bx
again: mov al,[si]
or al,al
jz ok
cmp al,'a'
jb next
cmp al,'z'
ja next
mov [di],al
inc di
next: inc si
jmp again
ok: mov al, 0
mov [di], al
pop di
pop si
pop ax
retgetupper endp
cseg ends
end start
JS 檢測大寫字母 字串
給定乙個單詞,你需要判斷單詞的大寫使用是否正確。我們定義,在以下情況時,單詞的大寫用法是正確的 全部字母都是大寫,比如 usa 單詞中所有字母都不是大寫,比如 leetcode 如果單詞不只含有乙個字母,只有首字母大寫,比如 google 否則,我們定義這個單詞沒有正確使用大寫字母。示例 1 輸入 ...
字串 520 檢測大寫字母
題目 給定乙個單詞,你需要判斷單詞的大寫使用是否正確。我們定義,在以下情況時,單詞的大寫用法是正確的 全部字母都是大寫,比如 usa 單詞中所有字母都不是大寫,比如 leetcode 如果單詞不只含有乙個字母,只有首字母大寫,比如 google 否則,我們定義這個單詞沒有正確使用大寫字母 示例 1 ...
將檔案中除保留字外的小寫字母換成大寫字母
python原始檔改寫。編寫乙個程式讀取一下,將檔案中所有除保留字外的小寫字母換成大寫字母。生成後的檔案要能夠被python直譯器正確執行。建立source.py def sum num result 0 for x in range 1,num 1 result x return result p...