ucase.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
; #########################################################################
ucase proc text:DWORD
; -----------------------------
; converts string to upper case
; invoke ucase,ADDR szString
; -----------------------------
mov edx, text
ucSt:
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"
sub al, 32 ; else if lowercase, sub 32 to make uppercase
@@:
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 ucSt
ret
ucase endp
; #########################################################################
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?