;String Library Demo (StringDemo.asm)
;该程序演示了irvine32链接库中的字符串处理函数的使用方法
include irvine32.inc
.data
string_1 BYTE "abcde",0
string_2 BYTE "ABCDE",0
msg0 BYTE "string_1 in upper case:",0
msg1 BYTE "string_1 and string_2 are equal",0
msg2 BYTE "string_1 is less than string_2",0
msg3 BYTE "string_2 is less than string_1",0
msg4 BYTE "Length of string2 is:",0
msg5 BYTE "string_1 after triming:",0
.code
main PROC
call trim_string
call upper_case
call compare_strings
call print_length
call WaitMsg
exit
main ENDP
trim_string PROC
;从string1尾部删除字符
invoke Str_trim,addr string_1,'/'
mov edx,OFFSET msg5
call WriteString
mov edx,OFFSET string_1
call WriteString
call Crlf
ret
trim_string ENDP
upper_case PROC
;将string_1转换为大写字母
mov edx,OFFSET msg0
call WriteString
invoke Str_ucase,ADDR string_1
call WriteString
call Crlf
ret
upper_case ENDP
compare_strings PROC
;比较 string_1 string_2
invoke Str_compare,addr string_1,addr string_2
.IF ZERO? ;溢出标志位置一,ZERO运算符仅用于.IF .WHILE .REPEAT块 而且汇编的时候不计算,运行时计算
mov edx,OFFSET msg1
.ELSEIF CARRY? ;进位标志位置一
mov edx,OFFSET msg2
.ELSE
mov edx,OFFSET msg3
.ENDIF
call WriteString
call Crlf
ret
compare_strings ENDP
print_length PROC
;显示string_2的长度。
mov edx,OFFSET msg4
call WriteString
invoke Str_Length,addr string_2
call WriteDec
call Crlf
ret
print_length ENDP
END main
059.irvine32.inc中字符串操作函数综合运用示例
最新推荐文章于 2022-06-21 21:35:48 发布