STRLEN.EXE.a1 1.6 KB

12345678910111213141516171819202122232425262728293031323334
  1. main PROC NEAR
  2. 000 0002FA 56 PUSH si
  3. 001 0002FB BE9401 MOV si, 194h
  4. 002 0002FE 56 PUSH si
  5. 003 0002FF E80300 CALL near ptr proc_1
  6. 004 000302 59 POP cx
  7. 005 000303 5E POP si
  8. 006 000304 C3 RET
  9. main ENDP
  10. proc_1 PROC NEAR
  11. 000 000305 55 PUSH bp
  12. 001 000306 8BEC MOV bp, sp
  13. 002 000308 56 PUSH si
  14. 003 000309 33F6 XOR si, si
  15. 004 00030B EB01 JMP L1
  16. 005 00030E 8B5E04 L1: MOV bx, [bp+4]
  17. 006 000311 FF4604 INC word ptr [bp+4]
  18. 007 000314 803F00 CMP byte ptr [bx], 0
  19. 008 000317 75F4 JNE L2
  20. 009 000319 8BC6 MOV ax, si
  21. 010 00031B EB00 JMP L3
  22. 011 00031D 5E L3: POP si
  23. 012 00031E 5D POP bp
  24. 013 00031F C3 RET
  25. 014 00030D 46 L2: INC si
  26. 015 JMP L1 ;Synthetic inst
  27. proc_1 ENDP