1. 程式人生 > 其它 >彙編 統計單詞出現次數

彙編 統計單詞出現次數

統計單詞出現次數

設有一段英文,其字元變數名為 ENG,並以$字元結束(如下定義)。程式檢查單詞 SUN 在文中出現的次數,並以格式“SUN echo times:”顯示出次數。

DATA SEGMENT
ENG DB "aSUNbsunxysunbf$"
COUNT DB 0
STR DB "SUN'S NUMBER IS :$ "
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
	MOV DS,AX
	MOV SI,-1
NEXT: INC SI
	CMP ENG[SI],'S'
	JZ L1
	JMP L
L:  CMP ENG[SI],'$'
	JZ EXIT
	JMP NEXT
L1: INC SI
	CMP ENG[SI],'U'
	JZ L2
	JMP L
L2: INC SI
	CMP ENG[SI] ,'N'
	JZ L3
	JMP L
L3: INC COUNT
	JMP NEXT 
EXIT:
	LEA DX,STR
	MOV AH,9
	INT 21H
	MOV DL,COUNT
	MOV DH,0
	ADD DL,30H
	MOV AH,2
	INT 21H
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START

程式碼倉庫:https://github.com/SKPrimin/HomeWork/tree/main/Assembly/NumberofWordsinText

1、編譯執行

2、T=0 2 載入資料段

3、D0檢視資料段

與我們預設的字元段相同

4、G=0 執行並檢視執行結果,與我們設想的相同

5、t單步執行檢視過程

發現其在NEXT,L,L1,L2程式段中來回跳轉,不符合時跳轉順序為INC->CMP->JZ->JMP。只有當符合條件時才會跳轉到L3使COUNT加一