The Art of Assembly Language (Randall Hyde、Amazon へのリンク) を読んでいて、その本のコンソール アプリケーションを試してみました。それは、Win32 API 関数を使用して、自分自身の新しいコンソールを作成するプログラムでした。LENSTR
このプログラムには、文字列の長さをEBP
レジスタに格納するというプロシージャが含まれています。この関数のコードは次のとおりです。
LENSTR PROC
ENTER 0, 0
PUSH EAX
;----------------------
CLD
MOV EDI, DWORD PTR [EBP+08H]
MOV EBX, EDI
MOV ECX, 100 ; Limit the string length
XOR AL, AL
REPNE SCASB ; Find the 0 character
SUB EDI, EBX ; String length including 0
MOV EBX, EDI
DEC EBX
;----------------------
POP EAX
LEAVE
RET 4
LENSTR ENDP
enter
ここでおよびleave
コマンドの使用法を説明していただけますか?