;如果知道串的长度的话,可以这么做,比如都等长的16个字符
;串比较宏定义
strcmpmacrostr1,str2
leasi,str1
leadi,str2
movcx,16
cld
repzcmpsb
endm
;串传送宏定义
strmovmacrostr1,str2
leasi,str1
leadi,str2
movcx,16
cld
repmovsb
endm
;------------------------------------------
datasegment
str1db\'$\';第一个串
str2db\'$\';第二个串
str3db\'$\';第三个串
maxdb16dup(?),\'$\'
dataends
;-----------------------------------------
codesegment
assumecs:code,ds:data,es:data
mainproc
start:
movax,data
movds,ax
moves,ax
strmovstr1,max;str1-max
strcmpstr2,max
jlelop
strmovstr2,max
lop:strcmpstr3,max
jlecon
strmovstr3,max
con:movah,09h
leadx,max
int21h
exit:movah,4ch
int21h
mainendp
codeends
endmain
这样打真的好累哦。。。。。其实还有很多好方法,在这儿打很不方便,这台机子我也没法调试,所以先打了一个比较容易理解的。。。。。
|