|
|
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.