;统计字符串长度 DATAS SEGMENT string db 'hello world demo0';待计算的字符串以0结尾 DATAS ends CODES SEGMENT ASSUME CS:CODES, DS:DATAS START: mov AX,DATAS mov DS,AX call strlen ;调用strlen子程序 mov ah,4CH int 21h strlen proc lea si,string;记录string的偏移地址 xor cx,cx ;cx记录字符个数 flag: mov ah,[si] cmp ah,'0' JZ EXIT ;如果等于'0'则跳转 inc cl ;计数+1 inc si ;下一个待判断的字符的偏移地址 jmp flag EXIT: ret strlen endp CODES ends end START