windows环境下32位汇编语言程序设计-第62章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
addr szFmtWord;'esi'。dwCount;eax;_lpsz
invoke lstrlen;addr szBuffer
mov ecx;eax
invoke WriteFile;_hFile;addr szBuffer;
ecx;addr @dwTemp;NULL
。endif
;********************************************************************
; 如果有下层结点则递归调用
;********************************************************************
mov @dwTemp;0
。while @dwTemp 《 26
mov ebx;@dwTemp
mov ebx;dword ptr 'esi+ebx*4'
。if ebx
invoke lstrcpy;addr @szWord;_lpsz
invoke lstrlen;addr @szWord
lea ecx;@szWord
add ecx;eax
mov eax;@dwTemp
add al;'a'
mov word ptr 'ecx';ax
invoke _WalkTree;_hFile;ebx;addr @szWord
。endif
inc @dwTemp
。endw
;********************************************************************
; 释放结点
;********************************************************************
。if 'esi'。dwDepth
invoke GlobalFree;esi
。endif
popad
assume esi:ptr WORD_COUNT
ret
_WalkTree endp
;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
; 如果输入的是字母则建立或移动到下一结点,输入0则增加结点计数
;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
_CountLetter proc _dwLetter
local @dwIndex
assume edi:ptr WORD_COUNT
or al;20h ;转换成小写字母
。if (al 》= 'a') && (al