home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_02_06
/
tp55rtl.src
< prev
next >
Wrap
Text File
|
1990-11-06
|
13KB
|
413 lines
;=============================================================================
;=============================================================================
;
; Label Name Library for Turbo Pascal v5.5
;
; Writen by Clark A. Calkins,
; C. C. Software
; 1907 Alvarado Ave.
; Walnut Creek, CA 94596
;
; circa September 1990
;
; This file may be freely copied and used for non-commercial purposes.
; Intended for use with the Masterful Disassembler (MD86) version 2.3 or
; later. This file should be compiled with MD86MAC v1.3 or later. No
; compiler error or warning messages should be generated.
;
; There are no known coding errors in these definitions but no guarantees
; are implied.
;
;=============================================================================
;
; Initialize routine. This sets interupt vectors and segment registers.
;
label = TpInit
mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
compare = $ba,$00,$00,$8e,$da,$8c,$06,$00,$00,$33,$ed,$8b,$c4,$05
compare = $13,$00,$b1,$04,$d3,$e8,$8c,$d2,$03,$c2
endlabel
;
; Normal exit routine.
;
label = TpExit
mask = $ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff
mask = $ff,$ff,$ff,$ff
compare = $33,$c9,$33,$db,$ba,$00,$00,$8e,$da,$fb,$a3,$00,$00,$8b
compare = $c1,$0b,$c3,$74
endlabel
;
; String support functions.
;
label = StrStore
nomask
compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$08,$36,$c5,$77,$04
compare = $ac,$aa,$8a,$c8,$32,$ed,$f3,$a4,$8e,$da,$ca,$04,$00
endlabel
;
label = StrMove
nomask
compare = $fc,$8b,$dc,$8c,$da,$36,$c5,$77,$0a,$36,$c4,$7f,$06
compare = $36,$8b,$4f,$04,$ac,$3a,$c1,$76,$02,$8a,$c1,$aa,$8a
compare = $c8,$32,$ed,$f3,$a4,$8e,$da,$ca,$0a,$00
endlabel
;
label = StrCopy
nomask
compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$0c,$36,$c5,$77,$08
compare = $8a,$04,$32,$e4,$36,$8b,$4f,$06,$0b,$c9,$7f,$03,$b9
compare = $01,$00,$03,$f1,$2b,$c1,$72,$13,$40,$36,$8b,$4f,$04
compare = $0b,$c9,$7d,$02,$33,$c9,$3b,$c1,$76,$06,$8b,$c1,$eb
compare = $02,$33,$c0,$aa,$8b,$c8,$f3,$a4,$8e,$da,$ca
endlabel
;
label = StrAdd
nomask
compare = $fc,$8b,$dc,$8c,$da,$36,$c4,$7f,$08,$36,$c5,$77,$04
compare = $26,$8a,$0d,$32,$ed,$ac,$26,$00,$05,$73,$08,$26,$c6
compare = $05,$ff,$8a,$c1,$f6,$d0,$03,$f9,$47,$8a,$c8,$f3,$a4
compare = $8e,$da,$ca,$04,$00
endlabel
;
label = StrLngth
nomask
compare = $8b,$dc,$36,$c4,$7f,$04,$26,$8a,$05,$32,$e4,$ca,$04
compare = $00
endlabel
;
label = WrtItem
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
compare = $55,$8b,$ec,$1e,$c4,$7e,$0c,$06,$57,$e8,$00,$00
compare = $75,$25,$c5,$76,$08,$8b,$4e,$06,$fc,$ac,$32,$e4,$2b,$c8
endlabel
;
label = IO_end
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff
compare = $8b,$dc,$36,$c4,$7f,$04,$26,$83,$7d,$1a,$00,$75,$03,$ca,$04
compare = $00,$83,$3e,$00,$00,$00,$75,$f6,$06,$57
endlabel
;
label = Get_IO
mask = $ff,$ff,$ff,$ff,$00,$00,$ff
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
compare = $33,$c0,$87,$06,$00,$00,$cb
compare = $83,$3e,$00,$00,$00,$75,$01,$cb,$a1,$00,$00,$e9
endlabel
label = Check_IO
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
compare = $83,$3e,$00,$00,$00,$75,$01,$cb,$a1,$00,$00,$e9
endlabel
;
label = Line_end
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
mask = $ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff
compare = $8b,$dc,$36,$c4,$7f,$04,$06,$57,$e8,$00,$00,$75,$0a,$b0,$0d
compare = $e8,$00,$00,$b0,$0a,$e8,$00,$00,$5f,$07,$26,$89,$5d,$08,$eb
compare = $06
endlabel
;
label = RdStrItm
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff
compare = $55,$8b,$ec,$1e,$c4,$7e,$0c,$06,$57,$e8,$00,$00
compare = $c5,$76,$08,$b9,$00,$00,$75,$15,$e8,$00,$00,$3c
compare = $0d,$74,$0e,$3c,$1a,$74,$0a,$43,$41,$46,$88,$04
compare = $3b,$4e,$06
endlabel
;
label = Get_EOL
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$00,$00,$ff,$ff
compare = $8b,$dc,$36,$c4,$7f,$04,$06,$57,$e8,$00,$00,$75
compare = $14,$e8,$00,$00,$3c,$1a,$74,$0d,$43,$3c,$0d,$75
compare = $f4,$e8,$00,$00,$3c,$0a
endlabel
;
; Long and short integer file I/O procedures.
;
label = WrtDblWd
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff
compare = $55,$8b,$ec,$83,$ec,$20,$8b,$46,$08,$8b,$56,$0a
compare = $8d,$7e,$e0,$16,$07,$e8,$00,$00,$c4,$7e,$0c,$06
compare = $57,$e8,$00,$00,$75,$1f,$8b,$46,$06,$2b,$c1,$7e
compare = $0d
endlabel
;
label = RdDblWrd
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
compare = $55,$8b,$ec,$83,$ec,$20,$c4,$7e,$06,$06,$57,$e8
compare = $00,$00,$be,$00,$00,$75,$21,$e8,$00,$00,$3c,$1a
compare = $74,$1a,$3c,$20,$77,$03,$43,$eb,$f2
endlabel
;
; Procedure to assign a file name to a file variable. Used for text type
; files.
;
labelname = Txt_asgn
nomask
compare = $8b,$dc,$1e,$36,$c4,$7f,$08,$36,$c5,$77,$04,$fc,$33,$c0
compare = $ab,$b8,$b0,$d7,$ab,$b8,$80,$00,$ab,$33,$c0,$ab,$ab,$ab
endlabel
;
; Procedure to assign binary files.
;
labelname = Bin_asgn
nomask
compare = $8b,$dc,$1e,$36,$c4,$7f,$08,$36,$c5,$77,$04,$fc,$33,$c0
compare = $ab,$b8,$b0,$d7,$ab,$33,$c0,$b9,$16,$00,$f3,$ab
endlabel
;
; Procedure to open a text file.
;
labelname = Txt_open
nomask
compare = $8b,$dc,$36,$c4,$7f,$04,$26,$8b,$45,$02,$3d,$b1,$d7
compare = $74,$12,$3d,$b2,$d7,$74,$0d
endlabel
;
; Procedure to open a text file for reading.
;
labelname = TxtReset
nomask
compare = $ba,$b1,$d7,$eb
argument
rbyte = 4
type = nearaddress
name = Txt_open
endargument
endlabel
;
; Procedure to open a text file for writing.
;
labelname = TxtWrite
nomask
compare = $ba,$b2,$d7,$eb
argument
rbyte = 4
type = nearaddress
name = Txt_open
endargument
endlabel
;
; Procedure to open a binary file for reading.
;
labelname = BinReset
mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
compare = $a0,$00,$00,$b4,$3d,$33,$d2,$eb,$06
compare = $b8,$00,$3c,$ba,$01,$00,$55,$8b,$ec,$c4,$7e,$08,$26,$81,$7d
compare = $02,$b0,$d7,$74,$1a,$26,$81,$7d,$02,$b3,$d7,$74,$08
endlabel
;
; Procedure to open a binary file for writing.
;
labelname = BinWrite
nomask
compare = $b8,$00,$3c,$ba,$01,$00,$55,$8b,$ec,$c4,$7e,$08,$26,$81,$7d
compare = $02,$b0,$d7,$74,$1a,$26,$81,$7d,$02,$b3,$d7,$74,$08
endlabel
;
;============================================================================
; Label names for the CRT unit.
;============================================================================
;
; Label name for GOTOXY(x,y) procedure.
;
labelname = GotoXYp
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff
mask = $00,$00,$ff,$ff
compare = $8b,$dc,$36,$8a,$57,$06,$36,$8a,$77,$04,$fe,$ca,$02,$16
compare = $00,$00,$72,$17,$3a,$16,$00,$00,$77,$11,$fe,$ce,$02,$36
compare = $00,$00,$72,$09
endlabel
;
; The clear to end of line procedure CLREOL.
;
labelname = ClrEol
mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff
mask = $ff,$ff,$00,$00,$ff,$00,$00,$ff
compare = $e8,$00,$00,$b8,$00,$00,$8a,$3e,$00,$00,$8b,$ca
compare = $8a,$16,$00,$00,$e8,$00,$00,$cb
endlabel
;
; The clear screen procedure CLRSCR.
;
labelname = ClrScr
mask = $ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$00,$00,$ff
mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$00,$00,$ff,$00
mask = $00,$ff
compare = $b8,$00,$00,$8a,$3e,$00,$00,$8b,$0e,$00,$00,$8b
compare = $16,$00,$00,$e8,$00,$00,$8b,$16,$00,$00,$e8,$00
compare = $00,$cb
endlabel
;
; The DELAY() procedure.
;
labelname = Delay_p
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff
mask = $ff,$ff
compare = $8b,$dc,$36,$8b,$57,$04,$0b,$d2,$74,$13,$33,$ff,$8e,$c7,$26
compare = $8a,$05,$8b,$1e,$00,$00,$8b,$cb,$e8,$00,$00,$4a,$75,$f8,$ca
compare = $02,$00
endlabel
;
; Video interupt entry.
;
labelname = VideoInt
nomask
compare = $56,$57,$55,$06,$cd,$10,$07,$5d,$5f,$5e,$c3
endlabel
;
; Line delete function DELLINE.
;
labelname = DelLine
mask = $ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$00,$00
mask = $ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
compare = $b8,$01,$06,$50,$e8,$00,$00,$58,$8a,$3e,$00,$00,$8a,$0e,$00,$00
compare = $8a,$ee,$8b,$16,$00,$00,$3a,$ee,$75,$02,$32,$c0,$e8,$00,$00,$cb
argument
rbyte = 29
type = nearaddress
name = VideoInt
endargument
endlabel
;
; High video procedure.
;
labelname = HighVid
mask = $ff,$ff,$00,$00,$ff,$ff
compare = $80,$0e,$00,$00,$08,$cb
endlabel
;
; Low video procedure.
;
labelname = LowVideo
mask = $ff,$ff,$00,$00,$ff,$ff
compare = $80,$26,$00,$00,$f7,$cb
endlabel
;
; Key pressed procedure.
;
labelname = KeyPrest
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff
compare = $80,$3e,$00,$00,$00,$75,$08,$b4,$01,$cd,$16,$b0,$00,$74,$02
compare = $b0,$01,$cb
endlabel
;
; Procedure to turn the speeker off.
;
labelname = NoSound
nomask
compare = $e4,$61,$24,$fc,$e6,$61,$cb
endlabel
;
; Procedure to turn the speeker on at a specified frequency.
;
labelname = Sound
nomask
compare = $8b,$dc,$36,$8b,$5f,$04,$b8,$dd,$34,$ba,$12,$00
compare = $3b,$d3,$73,$1a,$f7,$f3,$8b,$d8,$e4,$61,$a8,$03
compare = $75,$08
endlabel
;
; Set the text background color.
;
labelname = TxtBkg
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
compare = $8b,$dc,$36,$8a,$47,$04,$24,$07,$b1,$04,$d2,$e0,$80,$26
compare = $00,$00,$8f,$08,$06,$00,$00,$ca,$02,$00
endlabel
;
; Set foreground color.
;
labelname = TxtColor
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
compare = $8b,$dc,$36,$8a,$47,$04,$a8,$f0,$74,$04,$24,$0f,$0c,$80
compare = $80,$26,$00,$00,$70,$08,$06,$00,$00,$ca,$02,$00
endlabel
;
; Read a character.
;
labelname = ReadKey
mask = $ff,$00,$00,$ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$ff,$ff,$ff,$ff
mask = $ff,$ff,$00,$00,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff
compare = $a0,$00,$00,$c6,$06,$00,$00,$00,$0a,$c0,$75,$12,$32,$e4
compare = $cd,$16,$0a,$c0,$75,$0a
compare = $88,$26,$00,$00,$0a,$e4,$75,$02,$b0,$03,$e8,$00,$00,$cb
endlabel
;
; Set the text mode (mono, color, 40 cols, 80 cols, etc.).
;
labelname = TxtMode
mask = $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00,$00,$ff,$00,$00
mask = $ff,$00,$00,$ff,$00,$00,$ff,$ff,$ff
compare = $8b,$dc,$36,$8b,$47,$04,$e8,$00,$00,$e8,$00,$00
compare = $a0,$00,$00,$a2,$00,$00,$ca,$02,$00
endlabel
;
; Locate the current cursor position.
;
labelname = CurPos_p
mask = $ff,$ff,$ff,$ff,$ff
compare = $b4,$03,$32,$ff,$e9
argument
rbyte = 5
type = nearaddress
name = VideoInt
endargument
endlabel
;
; Determine the current 'X' coordinate.
;
labelname = Where_X
mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
compare = $e8,$00,$00,$8a,$c2,$2a,$06,$00,$00,$fe,$c0,$cb
argument
rbyte = 1
type = nearaddress
name = CurPos_p
endargument
endlabel
;
; Determine the current 'Y' coordinate.
;
labelname = Where_Y
mask = $ff,$00,$00,$ff,$ff,$ff,$ff,$00,$00,$ff,$ff,$ff
compare = $e8,$00,$00,$8a,$c6,$2a,$06,$00,$00,$fe,$c0,$cb
argument
rbyte = 1
type = nearaddress
name = CurPos_p
endargument
endlabel
;
; Set the window columns on the screen.
;
labelname = Window
nomask
compare = $8b,$dc,$36,$8a,$57,$0a,$36,$8a,$77,$08,$36,$8a,$4f,$06
compare = $36,$8a,$6f,$04,$3a,$d1,$77,$27,$3a,$f5,$77,$23,$fe,$ca
compare = $78,$1f
endlabel
;
; End of label name library.