lcase.asm
来自「工欲善其事」· 汇编 代码 · 共 44 行
ASM
44 行
; #########################################################################
; ---------------------------------------------------------------
; Part of this module has been optimised by Alexander Yackubtchik
; ---------------------------------------------------------------
.486
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
.code
; #########################################################################
lcase proc text:DWORD
; -----------------------------
; converts string to lower case
; invoke lcase,ADDR szString
; -----------------------------
mov edx, text
lcSt:
mov al, [edx] ; load byte into al
cmp al, "A"
jb @F ; jump if less than ascii "A"
cmp al, "Z"
ja @F ; jump if greater than ascii "Z"
add al, 32 ; else if uppercase, add 32 to make lowercase
@@:
mov [edx], al ; write byte to address in edx
lea edx, [edx + 1] ; increment byte position in edx
cmp al, 0 ; exit on zero terminator
jne lcSt
ret
lcase endp
; #########################################################################
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?