.386
.model flat,stdcall;平坦模式,stdcall
option casemap:none;大小写不敏感
include msvcrt.inc;包含msvcrt.inc
includelib msvcrt.lib;包含msvcrt.lib
.data
szPause db "pause",0
szFormat db "%s",0
str1 db "hello world",0
str2 db 20 dup(0),0
.code
main:
;求字符串长度
;al与edi中数据进行比较
lea edi,str1
lea esi,str1
mov al,0
repne scasb;循环从edi中比较al的值,直到相等退出循环
sub edi,esi;终止位置-起始位置=长度
mov ecx,edi;保存长度
;movsb 字符拷贝
lea edi,str2
lea esi,str1
cld ;清空方向
rep movsb
push offset str2
push offset szFormat
call crt_printf
add esp,8
push offset szPause
call crt_system
add esp,4
ret
end main
end
把str1的“hello world”拷贝到str2里
方法二:
.386
.model flat,stdcall
option casemap:none
include msvcrt.inc
includelib msvcrt.lib;system("pause")
.data
szPause db "pause",0
szFormat db "%s",0
str1 db "hello world",0
str2 db 20 dup(0),0
.c