home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1991
/
04
/
review
/
sievefit.asm
next >
Wrap
Assembly Source File
|
1991-01-04
|
4KB
|
137 lines
TITLE SIEVEFIT.ASM - MODULE SieveFitted.MOD
; Module created 01-05-1991/09:52 by TOBJ2ASM
EXTRN System_INIT:FAR
EXTRN InOut_INIT:FAR
EXTRN InOut_WriteString:FAR
EXTRN InOut_Read:FAR
EXTRN InOut_WriteLn:FAR
EXTRN InOut_Write:FAR
EXTRN InOut_WriteCard:FAR
EXTRN System_Terminate:FAR
EXTRN DATA_System:BYTE
EXTRN DATA_InOut:BYTE
EXTRN System_INIT:BYTE
.286
.287
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE
ADD [BX+SI],AL
PUSH BP
MOV BP,SP
PUSH BP
ADD SP,65528
MOV DS,CS:[0]
MOV WORD PTR [BP-4],1
CMP WORD PTR [BP-4],2000
JBE lbl1
JMP lbl9
lbl1: MOV WORD PTR DS:[8234],0
MOV WORD PTR [BP-6],0
CMP WORD PTR [BP-6],8190
JA lbl3
lbl2: MOV SI,[BP-6]
MOV BYTE PTR [SI+40],1
CMP WORD PTR [BP-6],8190
JAE lbl3
INC WORD PTR [BP-6]
JMP lbl2
lbl3: MOV WORD PTR [BP-6],0
CMP WORD PTR [BP-6],8190
JA lbl8
lbl4: MOV SI,[BP-6]
MOV AL,[SI+40]
ROR AL,1
JAE lbl7
MOV AX,[BP-6]
ADD AX,[BP-6]
ADD AX,3
MOV [BP-10],AX
MOV AX,[BP-6]
ADD AX,[BP-10]
MOV [BP-8],AX
lbl5: CMP WORD PTR [BP-8],8190
JA lbl6
MOV SI,[BP-8]
MOV BYTE PTR [SI+40],0
MOV AX,[BP-10]
ADD SS:[BP-8],AX
JMP lbl5
lbl6: INC WORD PTR DS:[8234]
lbl7: CMP WORD PTR [BP-6],8190
JAE lbl8
INC WORD PTR [BP-6]
JMP lbl4
lbl8: CMP WORD PTR [BP-4],2000
JAE lbl9
INC WORD PTR [BP-4]
JMP lbl1
lbl9: MOV SP,BP
POP BP
RETF 0
PUBLIC SieveFitted_INIT
SieveFitted_INIT PROC FAR
CALL System_INIT
PUSH BP
MOV BP,SP
CALL System_INIT
CALL InOut_INIT
MOV DS,CS:[0]
MOV AX,33
PUSH AX
LEA AX,DS:[8236]
PUSH DS
PUSH AX
CALL InOut_WriteString
MOV DS,CS:[0]
LEA AX,DS:[8232]
PUSH DS
PUSH AX
CALL InOut_Read
MOV DS,CS:[0]
CALL InOut_WriteLn
MOV DS,CS:[0]
CALL Code2
MOV AX,7
PUSH AX
CALL InOut_Write
MOV DS,CS:[0]
PUSH WORD PTR DS:[8234]
MOV AX,5
PUSH AX
CALL InOut_WriteCard
MOV DS,CS:[0]
MOV AX,0
PUSH AX
CALL System_Terminate
MOV DS,CS:[0]
SieveFitted_INIT ENDP ; Size: 120 Byte
CODE ENDS ; Size: 288 Byte
DATA SEGMENT PARA 'DATA'
PUBLIC DATA_SieveFitted
DATA_SieveFitted LABEL BYTE
Data0 DB 8236 DUP (0),'Hit a key to start 2000 ITERATIONS',2 DUP (0)
DATA ENDS ; Size: 8272 Byte
STACK SEGMENT PARA STACK 'STACK'
@Stack DB 8192 DUP (?)
STACK ENDS ; Size: 8192 Byte
END