我正在阅读《汇编语言的艺术》(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
andleave
命令的用法吗?