.486
.model flat
extrn __fltused:near
extrn __ftol:near
public _main
_TEXT segment
_main:
push ebx
push esi
push edi
push ebp
mov ebp,esp
sub esp,24
mov dword ptr (-24)[ebp],0
mov dword ptr (_next),0
jmp L3
L2:
lea edi,(-24)[ebp]
push edi
lea edi,(-20)[ebp]
push edi
call _lookup
add esp,8
inc dword ptr [eax]
L3:
lea edi,(-20)[ebp]
push edi
call _getword
add esp,4
cmp eax,0
jne L2
mov edi,dword ptr (-24)[ebp]
push edi
call _tprint
add esp,4
mov eax,0
L1:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _err
_err:
push ebx
push esi
push edi
push ebp
mov ebp,esp
mov edi,dword ptr (20)[ebp]
push edi
lea edi,(L6)
push edi
call _printf
add esp,8
push 1
call _exit
add esp,4
mov eax,0
L5:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _getword
_getword:
push ebx
push esi
push edi
push ebp
mov ebp,esp
sub esp,8
L8:
L9:
call _getchar
add esp,0
mov dword ptr (-4)[ebp],eax
cmp eax,-1
je L11
mov edi,dword ptr (-4)[ebp]
push edi
call _isletter
add esp,4
cmp eax,0
je L8
L11:
mov edi,dword ptr (20)[ebp]
mov dword ptr (-8)[ebp],edi
jmp L15
L12:
mov edi,dword ptr (-8)[ebp]
lea esi,(1)[edi]
mov dword ptr (-8)[ebp],esi
mov esi,dword ptr (-4)[ebp]
mov ebx,esi
mov byte ptr [edi],bl
L13:
call _getchar
add esp,0
mov dword ptr (-4)[ebp],eax
L15:
mov edi,dword ptr (-4)[ebp]
push edi
call _isletter
add esp,4
mov dword ptr (-4)[ebp],eax
cmp eax,0
jne L12
mov edi,dword ptr (-8)[ebp]
mov byte ptr [edi],0
mov edi,dword ptr (-8)[ebp]
mov esi,dword ptr (20)[ebp]
cmp edi,esi
jbe L16
mov eax,1
jmp L7
L16:
mov eax,0
L7:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _isletter
_isletter:
push ebx
push esi
push edi
push ebp
mov ebp,esp
mov edi,dword ptr (20)[ebp]
cmp edi,65
jl L19
cmp edi,90
jg L19
add dword ptr (20)[ebp],32
L19:
mov edi,dword ptr (20)[ebp]
cmp edi,97
jl L21
cmp edi,122
jg L21
mov eax,dword ptr (20)[ebp]
jmp L18
L21:
mov eax,0
L18:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _lookup
_lookup:
push ebx
push esi
push edi
push ebp
mov ebp,esp
sub esp,4
mov edi,dword ptr (24)[ebp]
mov edi,dword ptr [edi]
cmp edi,0
je L24
mov edi,dword ptr (24)[ebp]
mov edi,dword ptr [edi]
mov edi,dword ptr (12)[edi]
push edi
mov edi,dword ptr (20)[ebp]
push edi
call _strcmp
add esp,8
mov dword ptr (-4)[ebp],eax
cmp dword ptr (-4)[ebp],0
jge L26
mov edi,dword ptr (24)[ebp]
mov edi,dword ptr [edi]
lea edi,(4)[edi]
push edi
mov edi,dword ptr (20)[ebp]
push edi
call _lookup
add esp,8
mov edi,eax
jmp L23
L26:
cmp dword ptr (-4)[ebp],0
jle L28
mov edi,dword ptr (24)[ebp]
mov edi,dword ptr [edi]
lea edi,(8)[edi]
push edi
mov edi,dword ptr (20)[ebp]
push edi
call _lookup
add esp,8
mov edi,eax
jmp L23
L28:
mov edi,dword ptr (24)[ebp]
mov eax,dword ptr [edi]
jmp L23
L24:
cmp dword ptr (_next),2000
jl L30
lea edi,(L32)
push edi
call _err
add esp,4
L30:
mov edi,dword ptr (_next)
sal edi,4
mov dword ptr (_words)[edi],0
mov edi,dword ptr (_next)
sal edi,4
mov dword ptr (_words+8)[edi],0
mov dword ptr (_words+4)[edi],0
mov edi,dword ptr (20)[ebp]
push edi
call _strlen
add esp,4
lea edi,(1)[eax]
push edi
call _malloc
add esp,4
mov esi,dword ptr (_next)
sal esi,4
mov dword ptr (_words+12)[esi],eax
mov edi,dword ptr (_next)
sal edi,4
mov edi,dword ptr (_words+12)[edi]
cmp edi,0
jne L36
lea edi,(L39)
push edi
call _err
add esp,4
L36:
mov edi,dword ptr (20)[ebp]
push edi
mov edi,dword ptr (_next)
sal edi,4
mov edi,dword ptr (_words+12)[edi]
push edi
call _strcpy
add esp,8
mov edi,dword ptr (_next)
lea esi,(1)[edi]
mov dword ptr (_next),esi
sal edi,4
lea edi,(_words)[edi]
mov esi,dword ptr (24)[ebp]
mov dword ptr [esi],edi
mov eax,edi
L23:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _tprint
_tprint:
push ebx
push esi
push edi
push ebp
mov ebp,esp
mov edi,dword ptr (20)[ebp]
cmp edi,0
je L42
mov edi,dword ptr (20)[ebp]
mov edi,dword ptr (4)[edi]
push edi
call _tprint
add esp,4
mov edi,dword ptr (20)[ebp]
mov esi,dword ptr (12)[edi]
push esi
mov edi,dword ptr [edi]
push edi
lea edi,(L44)
push edi
call _printf
add esp,12
mov edi,dword ptr (20)[ebp]
mov edi,dword ptr (8)[edi]
push edi
call _tprint
add esp,4
L42:
mov eax,0
L41:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
public _strcmp
_strcmp:
push ebx
push esi
push edi
push ebp
mov ebp,esp
jmp L47
L46:
mov edi,dword ptr (20)[ebp]
lea esi,(1)[edi]
mov dword ptr (20)[ebp],esi
movsx edi,byte ptr [edi]
cmp edi,0
jne L49
mov eax,0
jmp L45
L49:
inc dword ptr (24)[ebp]
L47:
mov edi,dword ptr (20)[ebp]
movsx edi,byte ptr [edi]
mov esi,dword ptr (24)[ebp]
movsx esi,byte ptr [esi]
cmp edi,esi
je L46
mov edi,dword ptr (20)[ebp]
movsx edi,byte ptr [edi]
cmp edi,0
jne L51
mov eax,-1
jmp L45
L51:
mov edi,dword ptr (24)[ebp]
movsx edi,byte ptr [edi]
cmp edi,0
jne L53
mov eax,1
jmp L45
L53:
mov edi,dword ptr (20)[ebp]
movsx edi,byte ptr [edi]
mov esi,dword ptr (24)[ebp]
movsx esi,byte ptr [esi]
mov eax,edi
sub eax,esi
L45:
mov esp,ebp
pop ebp
pop edi
pop esi
pop ebx
ret
_TEXT ends
extrn _strcpy:near
_TEXT segment
_TEXT ends
extrn _strlen:near
_TEXT segment
_TEXT ends
extrn _malloc:near
_TEXT segment
_TEXT ends
extrn _getchar:near
_TEXT segment
_TEXT ends
extrn _exit:near
_TEXT segment
_TEXT ends
extrn _printf:near
_TEXT segment
_TEXT ends
_DATA segment
public _next
align 4
_next label byte
db 4 dup (0)
public _words
align 4
_words label byte
db 32000 dup (0)
_DATA ends
_TEXT segment
align 1
L44 label byte
db 37
db 100
db 9
db 37
db 115
db 10
db 0
align 1
L39 label byte
db 111
db 117
db 116
db 32
db 111
db 102
db 32
db 119
db 111
db 114
db 100
db 32
db 115
db 116
db 111
db 114
db 97
db 103
db 101
db 0
align 1
L32 label byte
db 111
db 117
db 116
db 32
db 111
db 102
db 32
db 110
db 111
db 100
db 101
db 32
db 115
db 116
db 111
db 114
db 97
db 103
db 101
db 0
align 1
L6 label byte
db 63
db 32
db 37
db 115
db 10
db 0
_TEXT ends
end
