| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- ;; library functions for rdtmain - test of rdx linking and execution
- ;; library function = _strcmp, defined as in C
- [SECTION .text]
- [BITS 32]
- [GLOBAL _strcmp]
- _strcmp:
- push ebp
- mov ebp,esp
- ;; ebp+8 = first paramater, ebp+12 = second
- mov esi,[ebp+8]
- mov edi,[ebp+12]
- .loop:
- mov cl,byte [esi]
- mov dl,byte [edi]
- cmp cl,dl
- jb .below
- ja .above
- or cl,cl
- jz .match
- inc esi
- inc edi
- jmp .loop
- .below:
- mov eax,-1
- pop ebp
- ret
-
- .above:
- mov eax,1
- pop ebp
- ret
- .match:
- xor eax,eax
- pop ebp
- ret
- [SECTION .data]
- [GLOBAL _message]
- _message: db 'hello',0
|