home *** CD-ROM | disk | FTP | other *** search
- .186
- name sieve
- _text segment byte public 'code'
- dgroup group _data,_bss
- assume cs:_text,ds:dgroup,ss:dgroup
- _text ends
- _data segment word public 'data'
- _d@ label byte
- _data ends
- _bss segment word public 'bss'
- _b@ label byte
- _bss ends
- _data segment word public 'data'
- public _flags
- _flags label byte
- db 0
- db 8190 dup (?)
- _data ends
- _text segment byte public 'code'
- ; Line 16
- _main proc near
- push si
- push di
- enter 4,0
- ; Line 17
- ; Line 18
- ; Line 19
- ; Line 20
- db 104 ; push immediate
- dw 150
- mov ax,offset _s@
- push ax
- call near ptr _printf
- add sp,4
- ; Line 21
- ; Line 22
- mov word ptr [bp-4],1
- jmp short @5
- @4:
- ; Line 23
- ; Line 24
- mov word ptr [bp-2],0
- ; Line 25
- xor si,si
- jmp short @9
- @8:
- ; Line 26
- mov byte ptr dgroup:_flags[si],1
- inc si
- @9:
- cmp si,8190
- jle @8
- ; Line 27
- ; Line 28
- mov si,2
- jmp short @13
- @12:
- ; Line 29
- ; Line 30
- cmp byte ptr dgroup:_flags[si],0
- je @11
- ; Line 31
- ; Line 32
- mov di,si
- add di,si
- jmp short @18
- @17:
- ; Line 33
- mov byte ptr dgroup:_flags[di],0
- add di,si
- @18:
- cmp di,8190
- jle @17
- ; Line 34
- inc word ptr [bp-2]
- ; Line 35
- ; Line 36
- @11:
- inc si
- @13:
- cmp si,8190
- jle @12
- ; Line 37
- inc word ptr [bp-4]
- @5:
- cmp word ptr [bp-4],150
- jle @4
- ; Line 38
- ; Line 39
- push word ptr [bp-2]
- mov ax,offset _s@+16
- push ax
- call near ptr _printf
- add sp,4
- ; Line 40
- ; Line 41
- db 106 ; push immediate
- db 0
- call near ptr _exit
- inc sp
- inc sp
- ; Line 42
- ; Line 43
- leave
- pop di
- pop si
- ret
- _main endp
- _text ends
- _data segment word public 'data'
- _s@ label byte
- db 37
- db 100
- db 32
- db 105
- db 116
- db 101
- db 114
- db 97
- db 116
- db 105
- db 111
- db 110
- db 115
- db 58
- db 32
- db 0
- db 37
- db 100
- db 32
- db 112
- db 114
- db 105
- db 109
- db 101
- db 115
- db 10
- db 0
- _data ends
- _text segment byte public 'code'
- extrn _exit:near
- extrn _printf:near
- public _main
- _text ends
- end