home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 2
/
goldfish_vol2_cd1.bin
/
files
/
dev
/
lang
/
struct
/
speedtests
/
struct_test_asms
< prev
next >
Wrap
Text File
|
1993-08-24
|
15KB
|
807 lines
TEST1:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarA(A2),D1
MOVE.L StructPDENDYBARvarZ(A2),D2
MOVE.L #0,D1
MOVE.L #1,D2
MOVE.L #16000000,StructFor1To(A2)
StructFor1Start:
ADD.L #7,D1
ADD.L #1,D2
CMP.L StructFor1To(A2),D2
BLE StructFor1Start
StructFor1End:
MOVE.L D1,StructPDENDYBARvarA(A2)
MOVE.L D2,StructPDENDYBARvarZ(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
RTS
StructGlobalvarCOMMANDPOINTER EQU 8
StructGlobalvarCOMMANDLENGTH EQU 12
StructFor1To EQU 14
StructFor1Step EQU 18
StructFor1Sign EQU 22
StructTempHolder EQU 24
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #28,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #28,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 28 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST2:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.L StructPDENDYBARvarY(A2),D3
MOVE.L #0,D2
MOVE.L #2000,D3
StructPDENDYBARZeroloop1Start:
MOVE.L #20000,D1
StructPDENDYBARZeroloop2Start:
ADD.L #7,D2
DBRA D1,StructPDENDYBARZeroloop2Start
StructPDENDYBARZeroloop2End:
DBRA D3,StructPDENDYBARZeroloop1Start
StructPDENDYBARZeroloop1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
MOVE.L D3,StructPDENDYBARvarY(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
StructPDENDYBARvarY EQU 8
RTS
StructGlobalvarCOMMANDPOINTER EQU 12
StructGlobalvarCOMMANDLENGTH EQU 16
StructTempHolder EQU 18
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #22,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #22,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 22 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST3:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.W StructPDENDYBARvarK(A2),D3
MOVE.L #0,D2
MOVE.L #1,D1
MOVE.L #6000000,StructFor1To(A2)
StructFor1Start:
MOVE.L D1,A0
MOVE.L A0,D0
DIVS.W #2,D0
MOVE.W D0,A0
MOVE.W A0,D3
SWAP.W D0
MOVE.W D0,D3
StructPDENDYBARIf1Start:
CMP.W #0,D3
BNE StructPDENDYBARIf1Resolve1
StructBranch1End:
ADD.L #7,D2
BRA StructPDENDYBARIf1Resolve2
StructPDENDYBARIf1Resolve1:
ADD.L #15,D2
StructPDENDYBARIf1Resolve2:
ADD.L #1,D1
CMP.L StructFor1To(A2),D1
BLE StructFor1Start
StructFor1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
MOVE.W D3,StructPDENDYBARvarK(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
StructPDENDYBARvarK EQU 8
RTS
StructGlobalvarCOMMANDPOINTER EQU 10
StructGlobalvarCOMMANDLENGTH EQU 14
StructFor1To EQU 16
StructFor1Step EQU 20
StructFor1Sign EQU 24
StructTempHolder EQU 26
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #30,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #30,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 30 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST4:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.L #0,D2
MOVE.L #0,D1
StructPDENDYBARRepeat1Start:
ADD.L #7,D2
ADD.L #1,D1
CMP.L #20000000,D1
BNE StructPDENDYBARRepeat1Start
StructBranch1End:
StructPDENDYBARRepeat1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
RTS
StructGlobalvarCOMMANDPOINTER EQU 8
StructGlobalvarCOMMANDLENGTH EQU 12
StructTempHolder EQU 14
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #18,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #18,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 18 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST5:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.L #0,D2
MOVE.L #0,D1
StructPDENDYBARWhile1Start:
CMP.L #16000000,D1
BGE StructPDENDYBARWhile1End
StructBranch1End:
ADD.L #7,D2
ADD.L #1,D1
BRA StructPDENDYBARWhile1Start
StructPDENDYBARWhile1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
RTS
StructGlobalvarCOMMANDPOINTER EQU 8
StructGlobalvarCOMMANDLENGTH EQU 12
StructTempHolder EQU 14
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #18,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #18,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 18 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST6:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.L #0,D2
MOVE.L #0,D1
StructPDENDYBARLoop1Start:
ADD.L #7,D2
ADD.L #1,D1
CMP.L #16000000,D1
BLT StructPDENDYBARLoop1Start
StructBranch1End:
StructPDENDYBARLoop1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
RTS
StructGlobalvarCOMMANDPOINTER EQU 8
StructGlobalvarCOMMANDLENGTH EQU 12
StructTempHolder EQU 14
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #18,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #18,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 18 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST7:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.L StructPDENDYBARvarZ(A2),D1
MOVE.L StructPDENDYBARvarA(A2),D2
MOVE.L StructPDENDYBARvarB(A2),D3
MOVE.L #0,D2
MOVE.L #0,D3
MOVE.L #1,D1
MOVE.L #8000000,StructFor1To(A2)
StructFor1Start:
StructPDENDYBARIf1Start:
MOVE.L D3,A1
ADD.W #203,A1
MOVE.L D2,A0
ADD.W #203,A0
CMP.L A1,A0
BGE StructPDENDYBARIf1Resolve1
StructBranch1End:
ADD.L #1,D2
BRA StructPDENDYBARIf1Resolve2
StructPDENDYBARIf1Resolve1:
ADD.L #1,D3
StructPDENDYBARIf1Resolve2:
ADD.L #1,D1
CMP.L StructFor1To(A2),D1
BLE StructFor1Start
StructFor1End:
MOVE.L D1,StructPDENDYBARvarZ(A2)
MOVE.L D2,StructPDENDYBARvarA(A2)
MOVE.L D3,StructPDENDYBARvarB(A2)
RTS
StructPDENDYBARvarZ EQU 0
StructPDENDYBARvarA EQU 4
StructPDENDYBARvarB EQU 8
RTS
StructGlobalvarCOMMANDPOINTER EQU 12
StructGlobalvarCOMMANDLENGTH EQU 16
StructFor1To EQU 18
StructFor1Step EQU 22
StructFor1Sign EQU 26
StructTempHolder EQU 28
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #32,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #32,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 32 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END
TEST8:
SECTION Struct,CODE
JMP StructMCP
StructPDENDYBARStart:
MOVE.B StructPDENDYBARvarZ(A2),D1
MOVE.W StructPDENDYBARvarA(A2),D2
MOVE.L StructPDENDYBARvarB(A2),A3
MOVE.W #1,D2
MOVE.W #20,StructFor1To(A2)
StructFor1Start:
MOVE.L #1,A3
MOVE.L #500000,StructFor2To(A2)
StructFor2Start:
MOVE.B 120(A3,D2.W),D1
ADD.L #1,A3
CMP.L StructFor2To(A2),A3
BLE StructFor2Start
StructFor2End:
ADD.W #1,D2
CMP.W StructFor1To(A2),D2
BLE StructFor1Start
StructFor1End:
MOVE.B D1,StructPDENDYBARvarZ(A2)
MOVE.W D2,StructPDENDYBARvarA(A2)
MOVE.L A3,StructPDENDYBARvarB(A2)
RTS
StructPDENDYBARvarA EQU 0
StructPDENDYBARvarB EQU 2
StructPDENDYBARvarZ EQU 6
RTS
StructGlobalvarCOMMANDPOINTER EQU 8
StructGlobalvarCOMMANDLENGTH EQU 12
StructFor1To EQU 14
StructFor1Step EQU 18
StructFor2To EQU 22
StructFor2Step EQU 26
StructFor1Sign EQU 30
StructFor2Sign EQU 31
StructTempHolder EQU 32
StructMCP:
MOVE.L A0,-(A7)
MOVE.W D0,-(A7)
MOVE.L 4,A6
MOVE.L #36,D0
CLR.L D1
JSR -198(A6)
CMP.L #0,D0
BNE StructMCPSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,D1
MOVE.L #StructMemoryError,D2
MOVE.L #27,D3
JSR -48(A6)
ADD.L #6,A7
RTS
StructMCPSkip:
MOVE.L D0,A2
MOVE.W (A7)+,StructGlobalvarCOMMANDLENGTH(A2)
MOVE.L (A7)+,StructGlobalvarCOMMANDPOINTER(A2)
JSR StructPDENDYBARStart
MOVE.L 4,A6
MOVE.L A2,A1
MOVE.L #36,D0
JSR -210(A6)
RTS
StructLibraryOpener:
MOVE.L A1,A3
CLR.L D0
JSR -552(A6)
CMP #0,D0
BNE StructLOSkip
MOVE.L #StructErrorName,A1
CLR.L D0
JSR -552(A6)
MOVE.L D0,A6
JSR -60(A6)
MOVE.L D0,A4
MOVE.L A4,D1
MOVE.L #StructLibraryError,D2
MOVE.L #14,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L A3,D2
StructLOLoop:
CMP.B #0,(A3)+
BNE StructLOLoop
MOVE.L A3,D3
SUB.L D2,D3
SUB.L #1,D3
JSR -48(A6)
MOVE.L A4,D1
MOVE.L #StructLibraryError+14,D2
MOVE.L #1,D3
JSR -48(A6)
ADD.L #4,A7
StructLOSkip:
RTS
StructMemoryError: DC.B "Couldn't allocate 36 bytes",10
StructLibraryError: DC.B "Couldn't open ",10
StructErrorName: DC.B "dos.library",0
DC.B "STRUCT0.95"
END