?? textbook-p180-exerse18.asm
字號(hào):
DATA SEGMENT ;定義數(shù)據(jù)段
;題目:統(tǒng)計(jì)一個(gè)字符串中大寫(xiě)字母和小寫(xiě)字母的個(gè)數(shù)
ARRAY DB 'AaBCbc'
LEN EQU $-ARRAY ;共有LEN個(gè)數(shù)據(jù)
X DB 0 ;記錄大寫(xiě)字母的數(shù)量
Y DB 0 ;記錄小寫(xiě)字母的數(shù)量
DATA ENDS
CODE SEGMENT 'CODE' ;定義代碼段
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX ;數(shù)據(jù)段地址送DS中
MOV CX,LEN ;共有LEN個(gè)數(shù)據(jù)->CX
MOV SI,OFFSET ARRAY ;數(shù)組偏移地址->SI寄存器
AGN: MOV DL,5AH
CMP [SI],DL ;Z的ASCII編碼是5AH
JBE BIG ;[SI]<=5AH時(shí)跳轉(zhuǎn)BIG
INC Y ;[SI]>5AH時(shí),Y的值加1,記錄小寫(xiě)字母的數(shù)量Y<-Y+1
LOP: INC SI ;數(shù)組地址+1,使指針指向下一個(gè)元素
DEC CX ;個(gè)數(shù)-1,控制跳轉(zhuǎn)的次數(shù)
JCXZ EXT ;比較完N個(gè)數(shù)轉(zhuǎn)到EXT
JMP AGN ; 沒(méi)比較完轉(zhuǎn)到AGN,接著比較下一個(gè)
BIG: INC X ;X的值+1,記錄大寫(xiě)字母的數(shù)量
JMP LOP ;轉(zhuǎn)到取下一個(gè)數(shù)
EXT: MOV DL,X ;在屏幕上顯示X的值
ADD DL,30H ;把X中的值轉(zhuǎn)換為相應(yīng)的ASCII值
MOV AX,02H
INT 21H
MOV DL,Y ;在屏幕上顯示Y的值
ADD DL,30H ;把Y中的值轉(zhuǎn)換為相應(yīng)的ASCII值
MOV AX,02H
INT 21H
MOV AX,4C00H ;結(jié)束程序返回DOS
INT 21H
CODE ENDS
END START
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -