|
|
1.1 root 1: ; This is the same as the C runtime version of strlen, except that it takes
2: ; a far pointer to the string. It returns the length of the string.
3:
4: .MODEL SMALL
5: .CODE
6: PUBLIC _Dstrlen
7: _Dstrlen PROC FAR
8: push bp
9: mov bp,sp
10: push di
11: push es
12: mov es,[bp+8] ; str selector
13: mov di,[bp+6] ; str offset
14: xor ax,ax ; null byte
15: mov cx,-1
16: repne scasb ; scan for null, CX = -(1 + strlen(str))
17: not cx
18: dec cx
19: xchg ax,cx ; AX = strlen(str)
20: pop es
21: pop di
22: pop bp
23: ret
24: _Dstrlen ENDP
25: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.