blob: 6c2b8ec9a204cd63e3227eec1022ad9370bfe4a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
;; 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
|