匯程式設計序 保留字串中的大寫字母

2021-08-20 05:25:55 字數 1706 閱讀 1755

【任務】

在資料區,給定用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...