`8IBM چp Hy NMHz<<b Hz`&O`?< NA.KNu (Ver. 18.4.91) p Hello !! I am your personal boot sector GUARDIAN As long as I display this message YOUR BOOT SECTOR IS NOT INFECTED BY ANY VIRUS --------------------------------------- This guardian was placed on your diskette by FASTCOPY PRO (c) 1991 ICP Verlag, Martin Backschat q  |`  @!'#@%`')+-/1 3@5`79;=?A C@E`GIp'KMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[_ cAeagimoq!sAuawy{}!Aa!Aa a!Aa!Aaǁɡ!Aaׁ١!a!Aa " B b  "!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&c'eb&g&i&km&o'q"'sB'ub'y'{}`  @!'#@%`')+-/1 3@5`79;=?A C@E`GIp'KMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[_ cAeagimoq!sAuawy{}!Aa!Aa a!Aa!Aaǁɡ!Aaׁ١!a!Aa " B b  "!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&c'eb&g&i&km&o'q"'sB'ub'y'{}INTRFACE BINOBJ TTP HELPCOMPTTP `3PASM HLP < LPASM TTP a PPC TTP UNIT HLP R PRESOURCEPAS {gl*RESOURCEPPU ldHEAD__METXT es\. u.. uCRT INT cJDOS INT cVGEM INT "tGRAPH INT c %PRINTER INT BSYSTEM INT TOS INT >(************************************************************************) (* *) (* project AP PRINTER UNIT *) (* *) (* module printer.pas *) (* *) (************************************************************************) {$D-,L-,I-,S-} unit printer; interface (* -------------------------------------------------------------------- *) (* variables *) (* -------------------------------------------------------------------- *) var Lst : Text; (* =================================================================== *) unit dos; interface uses tos; (* -------------------------------------------------------------------- *) (* constants, types & variables *) (* -------------------------------------------------------------------- *) const fmClosed = $D7B0; fmInput = $D7B1; fmOutput = $D7B2; fmInOut = $D7B3; ReadOnly = $01; Hidden = $02; SysFile = $04; VolumeID = $08; Directory = $10; Archive = $20; AnyFile = $3F; type FileRec = record Handle : Word; Mode : Word; RecSize : LongInt; Private : array[1..28] of Byte; UserData : array[1..16] of Byte; Name : array[0..119] of Char; Reserved : Word; end; TextBuf = array[0..127] of Char; TextRec = record Handle : Word; Mode : Word; BufSize : LongInt; BufPos : LongInt; BufEnd : LongInt; BufPtr : ^TextBuf; OpenFunc : Pointer; InOutFunc : Pointer; FlushFunc : Pointer; CloseFunc : Pointer; UserData : array[1..16] of Byte; Name : array[0..119] of Char; Reserved : Word; Buffer : TextBuf; end; DateTime = record Year, Month, Day, Hour, Min, Sec : Word; end; SearchRec = record Fill : array[1..21] of Byte; Attr : Byte; Time : LongInt; Size : LongInt; Name : string[12]; end; ComStr = string[127]; PathStr = string[119]; DirStr = string[105]; NameStr = string[8]; ExtStr = string[4]; var DosError : Integer; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* *) (* *) (* not implemented: *) (* *) (* procedure Intr( IntNo : Byte; var Regs : Register ); *) (* procedure MsDos( var Regs : Register ); *) (* -------------------------------------------------------------------- *) function DosExitCode : Word; function DosVersion : Word; external; function DiskFree( Drive : Byte ) : LongInt; external; function DiskSize( Drive : Byte ) : LongInt; external; function EnvCount : Integer; external; function EnvStr( Index : Integer ) : string; external; procedure Exec( Path, CmdLine : string ); external; function FExpand( Path : PathStr ) : PathStr; external; procedure FindFirst( Path : string; Attr : Byte; var S : SearchRec ); external; procedure FindNext( var S : SearchRec ); external; function FSearch( Path : PathStr; DirList : string ) : string; external; procedure FSplit( Path : PathStr; var Dir : DirStr; var Name : NameStr; var Ext : ExtStr ); external; procedure GetCBreak( var break : boolean ); procedure GetDate( var Year, Month, Day, DayofWeek: Word ); external; function GetEnv( EnvVar : string ) : string; external; procedure GetFAttr( var f; var Attr : Word ); external; procedure GetFTime( var f; var Time : LongInt ); external; procedure GetIntVec( IntNo : Byte; var Vector : Pointer ); external; procedure GetTime( var Hour, Min, Second, Sec100 : Word ); external; procedure GetVerify( var verify : Boolean ); procedure Keep( ExitCode : Word ); external; procedure PackTime( var DT : DateTime; var Time : LongInt ); external; procedure SetCBreak( break : Boolean ); procedure SetDate( Year, Month, Day : Word ); external; procedure SetFAttr( var f; Attr : Word ); external; procedure SetFTime( var f; Time : LongInt ); external; procedure SetIntVec( IntNo : Byte; Vector : Pointer ); external; procedure SetTime( Hour, Minute, Second, Sec100 : Word ); external; procedure SetVerify( verify : Boolean ); procedure SwapVectors; external; procedure UnpackTime( Time : LongInt; var DT : DateTime ); external; (* =================================================================== *) unit system; interface (* -------------------------------------------------------------------- *) (* variables *) (* -------------------------------------------------------------------- *) type PDPtr = ^PD; PD = record p_lowtpa : Pointer; p_hitpa : Pointer; p_tbase : Pointer; p_tlen : LongInt; p_dbase : Pointer; p_dlen : LongInt; p_bbase : Pointer; p_blen : LongInt; p_dta : Pointer; p_parent : PDPtr; p_resrvd0 : LongInt; p_env : Pointer; p_stdfh : Array[0..5] of Byte; p_resrvd1 : Byte; p_curdrv : Byte; p_resrvd2 : Array[0..17] of LongInt; p_cmdlin : string[128]; end; var AppFlag : Boolean; { Application or Accessory } ExitCode : Integer; { program result } ExitProc : Pointer; { at last installed halt procedure } TermProc : Pointer; { routine to return to operating system } ErrorAddr : Pointer; { address of a run time error } HeapError : Pointer; { routine to handle out of memory } InOutRes : Integer; { result of i/o-operations } RandSeed : LongInt; { base for random number generator } FileMode : Byte; { standard mode for opening files } Test68881 : Byte; { test result for a math processor } StackLimit : Pointer; { pointer to the stack limit } Input : Text; { standard input } Output : Text; { standard output } Save02Exception : Pointer; { exception vector: bus error } Save03Exception : Pointer; { exception vector: address error } Save04Exception : Pointer; { exception vector: illegal instruction } Save05Exception : Pointer; { exception vector: divison by zero } Save06Exception : Pointer; { exception vector: chk/chk2 } Save07Exception : Pointer; { exception vector: trapv } Save08Exception : Pointer; { exception vector: privilege violation } BasePage : PDPtr; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* -------------------------------------------------------------------- *) procedure Append( var f : Text ); external; procedure ChDir( s : string ); external; function Copy( s : string; index, count : Integer ) : string; external; procedure Delete( s : string; index, count : Integer ); external; procedure Flush( var f : Text ); external; procedure GetDir( d : Byte; var s : string ); external; procedure Insert( source : string; var s : string; index : Integer ); external; function IOResult : Word; external; procedure MkDir( s : string ); external; procedure Move( var Source, Dest; count : LongInt ); external; procedure Page( var t : Text ); external; function ParamStr( index : Word ) : string; external; function Pos( substr : string; s : string ) : Byte; external; procedure Randomize; external; procedure RmDir( s : string ); external; function UpCase( ch : Char ) : Char; external; function MaxAvail: LongInt; external; function MemAvail: LongInt; external; { ----------------------------------------------------- } { functions & procedures to support convenient use } { of highspeed pascal and maxon pascal } { ----------------------------------------------------- } function RunFromMemory : Boolean; external; procedure ClrEol; external; procedure ClrEos; external; procedure ClrScr; external; procedure Delay( ms : LongInt ); external; procedure DelLine; external; procedure GotoXY( col, lin : Integer ); external; procedure InsLine; external; function KeyPressed : Boolean; external; function ReadKey : Char; external; unit graph; interface (* -------------------------------------------------------------------- *) (* constants, types & variables *) (* -------------------------------------------------------------------- *) const grOk = 0; grNoInitGraph = -1; grNotDetected = -2; grFileNotFound = -3; grInvalidDriver = -4; grNoLoadMem = -5; grNoScanMem = -6; grNoFloodMem = -7; grFontNotFound = -8; grNoFontMem = -9; grInvalidMode = -10; grError = -11; grIOerror = -12; grInvalidFont = -13; grInvalidFontNum = -14; Detect = 0; CGA = 1; MCGA = 2; EGA = 3; EGA64 = 4; EGAMono = 5; IBM8514 = 6; HercMono = 7; ATT400 = 8; VGA = 9; PC3270 = 10; CurrentDriver = -128; VDI = 256; CGAC0 = 0; CGAC1 = 1; CGAC2 = 2; CGAC3 = 3; CGAHi = 2; MCGAC0 = 0; MCGAC1 = 1; MCGAC2 = 2; MCGAC3 = 3; MCGAMed = 4; MCGAHi = 5; EGALo = 0; EGAHi = 1; EGA64Lo = 0; EGA64Hi = 1; EGAMonoHi = 3; HercMonoHi = 0; ATT400C0 = 0; ATT400C1 = 1; ATT400C2 = 2; ATT400C3 = 3; ATT400Med = 4; ATT400Hi = 5; VGALo = 0; VGAMed = 1; VGAHi = 2; PC3270Hi = 0; IBM8514Lo = 0; IBM8514Hi = 1; VDIMode = 0; Black = 0; Blue = 1; Green = 2; Cyan = 3; Red = 4; Magenta = 5; Brown = 6; LightGray = 7; DarkGray = 8; LightBlue = 9; LightGreen = 10; LightCyan = 11; LightRed = 12; LightMagenta = 13; Yellow = 14; White = 15; EGABlack = 0; EGABlue = 1; EGAGreen = 2; EGACyan = 3; EGARed = 4; EGAMagenta = 5; EGABrown = 20; EGALightgray = 7; EGADarkgray = 56; EGALightblue = 57; EGALightgreen = 58; EGALightcyan = 59; EGALightred = 60; EGALightmagenta = 61; EGAYellow = 62; EGAWhite = 63; SolidLn = 0; DottedLn = 1; CenterLn = 2; DashedLn = 3; UserBitLn = 4; NormWidth = 1; ThickWidth = 3; DefaultFont = 0; TriplexFont = 1; SmallFont = 2; SansSerifFont = 3; GothicFont = 4; HorizDir = 0; VertDir = 1; UserCharSize = 0; LeftText = 0; CenterText = 1; RightText = 2; BottomText = 0; TopText = 2; ClipOn = true; ClipOff = false; TopOn = true; TopOff = false; EmptyFill = 0; SolidFill = 1; LineFill = 2; LtSlashFill = 3; SlashFill = 4; BkSlashFill = 5; LtBkSlashFill = 6; HatchFill = 7; XHatchFill = 8; InterleaveFill = 9; WideDotFill = 10; CloseDotFill = 11; UserFill = 12; CopyPut = 0; XORPut = 1; OrPut = 2; AndPut = 3; NotPut = 4; NormalPut = CopyPut; MaxColors = 15; type PaletteType = record Size : Byte; Colors : Array[0..MaxColors] of ShortInt; end; LineSettingsType = record LineStyle : Word; Pattern : Word; Thickness : Word; end; TextSettingsType = record Font : Word; Direction : Word; CharSize : Word; Horiz : Word; Vert : Word; end; FillSettingsType = record Pattern : Word; Color : Word; end; FillPatternType = Array[1..8] of Byte; PointType = record X, Y : Integer; end; ViewPortType = record x1, y1, x2, y2 : Word; Clip : Boolean; end; ArcCoordsType = record X, Y : Integer; Xstart, Ystart, Xend, Yend : Integer; end; var GraphGetMemPtr : Pointer; GraphFreeMemPtr : Pointer; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* -------------------------------------------------------------------- *) procedure Arc( X, Y : Integer; StAngle, EndAngle, Radius : Word ); external; procedure Bar( x1, y1, x2, y2 : Integer ); external; procedure Bar3D( x1, y1, x2, y2 : Integer; Depth : Word; Top : Boolean ); external; procedure Circle( X, Y : Integer; Radius : Word ); external; procedure ClearDevice; external; procedure ClearViewPort; external; procedure CloseGraph; external; procedure DetectGraph( var GraphDriver, GraphMode : Integer ); external; procedure DrawPoly( NumPoints : Word; var PolyPoints ); external; procedure Ellipse( X, Y : Integer; StAngle, EndAngle : Word; XRadius, YRadius : Word ); external; procedure FillEllipse( X, Y : Integer; XRadius, YRadius : Word ); external; procedure FillPoly( NumPoints : Word; var PolyPoints ); external; procedure FloodFill( X, Y : Integer; Border : Word ); external; procedure GetArcCoords( var ArcCoords : ArcCoordsType ); external; procedure GetAspectRatio( var Xasp, Yasp : Word ); external; function GetBkColor : Word; external; function GetColor : Word; external; procedure GetDefaultPalette( var Pal : PaletteType ); external; function GetDriverName : String; external; procedure GetFillPattern( var FillPattern : FillPatternType ); external; procedure GetFillSettings( var FillInfo : FillSettingsType ); external; function GetGraphMode : Integer; external; procedure GetImage( x1, y1, x2, y2 : Integer; var BitMap ); external; procedure GetLineSettings( var LineInfo : LineSettingsType ); external; function GetMaxColor : Word; external; function GetMaxMode : Word; external; function GetMaxX : Integer; external; function GetMaxY : Integer; external; function GetModeName( ModeNumber : Integer ) : String; external; procedure GetModeRange( GraphDriver : Integer; var LoMode, HiMode : Integer ); external; function GetPaletteSize : Integer; external; procedure GetPalette( var Palette : PaletteType ); external; function GetPixel( X, Y : Integer ) : Word; external; procedure GetTextSettings( var TextInfo : TextSettingsType ); external; procedure GetViewSettings( var Viewport : ViewPortType ); external; function GetX : Integer; external; function GetY : Integer; external; procedure GraphDefaults; external; function GraphErrorMsg( ErrorCode : Integer ) : String; external; procedure GraphFreeMem( var P : Pointer; Size : Word ); external; procedure GraphGetMem( var P : Pointer; Size : Word ); external; function GraphResult : Integer; external; function ImageSize( x1, y1, x2, y2 : Integer ) : Word; external; procedure InitGraph( var GraphDriver, GraphMode : Integer; PathToDriver : String ); external; function InstallUserFont( FontFileName : String ) : Integer; external; function InstallUserDriver( Name : String; AutoDetectPtr : Pointer ) : Integer; external; procedure Line( x1, y1, x2, y2 : Integer ); external; procedure LineRel( Dx, Dy : Integer ); external; procedure LineTo( x, y : Integer ); external; procedure MoveRel( Dx, Dy : Integer ); external; procedure MoveTo( x, y : Integer ); external; procedure OutText( Textstring : String ); external; procedure OutTextXY( X, Y : Integer; Textstring : String ); external; procedure PieSlice( X, Y : Integer; StAngle, EndAngle, Radius : Word ); external; procedure PutImage( X, Y : Integer; var BitMap; BitBlt : Word ); external; procedure PutPixel( X, Y : Integer; Color : Word ); external; procedure Rectangle( x1, y1, x2, y2 : Integer ); external; function RegisterBGIFont( Font : Pointer ) : Integer; external; function RegisterBGIDriver( Driver : Pointer ) : Integer; external; procedure RestoreCRTMode; external; procedure Sector( x, y : Integer; StAngle, EndAngle, XRadius, YRadius : Word ); external; procedure SetActivePage( Page : Word ); external; procedure SetAllPalette( var Palette ); external; procedure SetAspectRatio( XAsp, YAsp : Word ); external; procedure SetBkColor( ColorNum : Word ); external; procedure SetColor( Color : Word ); external; procedure SetFillPattern( Pattern : FillPatternType; Color : Word ); external; procedure SetFillStyle( Pattern : Word; Color : Word ); external; procedure SetGraphBufSize( BufSize : Word ); external; procedure SetGraphMode( Mode : Integer ); external; procedure SetLineStyle( LineStyle, Pattern, Thickness : Word ); external; procedure SetPalette( ColorNum : Word; Color : ShortInt ); external; procedure SetRGBPalette( ColorNum, RedValue, GreenValue, BlueValue : Integer ); external; procedure SetTextJustify( Horiz, Vert : Word ); external; procedure SetTextStyle( Font, Direction, CharSize : Word ); external; procedure SetUserCharSize( MultX, DivX, MultY, DivY : Word ); external; procedure SetViewPort( x1, y1, x2, y2 : Integer; Clip : Boolean ); external; procedure SetVisualPage( Page : Word ); external; procedure SetWriteMode( WriteMode : Integer ); external; function TextHeight( Textstring : String ) : Word; external; function TextWidth( Textstring : String ) : Word; external; (* =================================================================== *) unit tos; interface (* -------------------------------------------------------------------- *) (* constants, types & variables *) (* -------------------------------------------------------------------- *) const FO_READ = 0; FO_WRITE = 1; FO_RW = 2; FA_RDONLY = $1; FA_HIDDEN = $2; FA_SYSTEM = $4; FA_LABEL = $8; FA_DIREC = $10; FA_ARCH = $20; FA_ATTRIB = $17; type (* ++++++++++++++++++++++++++++++++++++++++ *) (* BIOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) MDPtr = ^MD; MD = record m_link : MDPtr; m_start : Pointer; m_length : LongInt; m_own : PDPtr; end; MPBPtr = ^MPB; MPB = record mp_mfl : MDPtr; mp_mal : MDPtr; mp_rover : MDPtr; end; BPBPtr = ^BPB; BPB = record recsiz : Integer; clsiz : Integer; clsizb : Integer; rdlen : Integer; fsiz : Integer; fatrec : Integer; datrec : Integer; numcl : Integer; bflags : Integer; end; (* ++++++++++++++++++++++++++++++++++++++++ *) (* GEMDOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) DTAPtr = ^DTA; DTA = record d_reserved : Array[1..21] of Byte; d_attrib : Byte; d_time : Integer; d_date : Integer; d_length : LongInt; d_fname : String[12]; end; DISKINFOPtr = ^DISKINFO; DISKINFO = record b_free : LongInt; b_total : LongInt; b_secsiz : LongInt; b_clsiz : LongInt; end; DOSTIMEPtr = ^DOSTIME; DOSTIME = record time : Word; date : Word; end; LINEPTR = ^LINE; LINE = record maxlen : Byte; buffer : String; end; MSGTYPEPTR = ^MSGTYPE; MSGTYPE = record msg1 : LongInt; msg2 : LongInt; pid : Integer; end; XATTRPTR = ^XATTR; XATTR = record mode : Word; index : LongInt; dev : Word; reserved1 : Word; nlink : Word; uid : Word; gid : Word; size : LongInt; blksize : LongInt; nblocks : LongInt; mtime : Integer; mdate : Integer; atime : Integer; adate : Integer; ctime : Integer; cdate : Integer; attr : Integer; reserved2 : Integer; reserved3 : Array[0..1] of LongInt; end; (* ++++++++++++++++++++++++++++++++++++++++ *) (* XBIOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) MOUSEPtr = ^MOUSE; MOUSE = record topmode : Byte; buttons : Byte; x_scale : Byte; y_scale : Byte; x_max : Integer; y_max : Integer; x_start : Integer; y_start : Integer; end; IORECORDPtr = ^IORECORD; IORECORD = record ibuf : Pointer; ibufsiz : Integer; ibufhd : Integer; ibuftl : Integer; ibuflow : Integer; ibufhi : Integer; end; KEYTABPtr = ^KEYTAB; KEYTAB = record unshift : Pointer; shift : Pointer; capslock : Pointer; end; KBDVECSPtr = ^KBDVECS; KBDVECS = record midivec : Pointer; vkbderr : Pointer; vmiderr : Pointer; statvec : Pointer; mousevec : Pointer; clockvec : Pointer; joyvec : Pointer; midisys : Pointer; ikdbsys : Pointer; drvstat : Integer; end; PBDEFPtr = ^PBDEF; PBDEF = record pb_scrptr : Pointer; pb_offset : Integer; pb_width : Integer; pb_height : Integer; pb_left : Integer; pb_right : Integer; pb_screz : Integer; pb_prrez : Integer; pb_colptr : Pointer; pb_prtype : Integer; pb_prport : Integer; pb_mask : Pointer; end; METAINFOPtr = ^METAINFO; METAINFO = record drivemap : LongInt; version : Pointer; reserved : Array[1..2] of LongInt; end; IARRAY_2 = ARRAY[0..1] of Integer; IARRAY_16 = ARRAY[0..15] of Integer; LARRAY_2 = ARRAY[0..1] of LongInt; LARRAY_8 = ARRAY[0..7] of Integer; LongIntFunc = Function : LongInt; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* -------------------------------------------------------------------- *) (* ++++++++++++++++++++++++++++++++++++++++ *) (* BIOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) procedure Getmpb( var p_mpb : MPB ); external; function Bconstat( dev : Integer ) : Integer; external; function Bconin( dev : Integer ) : LongInt; external; procedure Bconout( dev, c : Integer ); external; function Rwabs( rwflag : Integer; buf : Pointer; count, recno, dev : Integer; lrecno : LongInt ) : LongInt; external; function Setexc( vecnum : Integer; vec : Pointer ) : Pointer; external; function Tickcal : LongInt; external; function Getbpb( dev : Integer ) : BPBPtr; external; function Bcostat( dev : Integer ) : LongInt; external; function Mediach( dev : Integer ) : LongInt; external; function Drvmap : LongInt; external; function Kbshift( mode : Integer ) : LongInt; external; (* ++++++++++++++++++++++++++++++++++++++++ *) (* GEMDOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) procedure Pterm0; external; function Cconin : LongInt; external; procedure Cconout( c : Integer ); external; function Cauxin : Integer; external; procedure Cauxout( c : Integer ); external; function Cprnout( c : Integer ) : Integer; external; function Crawio( w : Integer ) : LongInt; external; function Crawcin : LongInt; external; function Cnecin : LongInt; external; procedure Cconws( str : String ); external; procedure Cconrs( var buf : LINE ); external; function Cconis : Integer; external; function Dsetdrv( drv : Integer ) : LongInt; external; function Cconos : Integer; external; function Cprnos : Integer; external; function Cauxis : Integer; external; function Cauxos : Integer; external; function Maddalt( start : Pointer; size : LongInt ) : LongInt; external; function Dgetdrv : Integer; external; procedure Fsetdta( newDta : DTAPtr ); external; function Super( stack : Pointer ) : LongInt; external; function Tgetdate : Word; external; function Tsetdate( date : Word ) : Integer; external; function Tgettime : Word; external; function Tsettime( time : Word ) : Integer; external; function Fgetdta : DTAPtr; external; function Sversion : Integer; external; procedure Ptermres( keep : LongInt; ret : Integer ); external; function Dfree( var buf : DISKINFO; drv : Integer ) : LongInt; external; function Dcreate( pathname : String ) : Integer; external; function Ddelete( pathname : String ) : Integer; external; function Dsetpath( path : String ) : Integer; external; function Fcreate( fname : String; attribs : Integer ) : LongInt; external; function Fopen( fname : String; mode : Integer ) : LongInt; external; function Fclose( handle : Integer ) : Integer; external; function Fread( handle : Integer; count : LongInt; buffer : Pointer ) : LongInt; external; function Fwrite( handle : Integer; count : LongInt; buffer : Pointer ) : LongInt; external; function Fdelete( fname : String ) : Integer; external; function Fseek( offset : LongInt; handle, seekmode : Integer ) : LongInt; external; function Fattrib( fname : String; wflag, attribs : Integer ) : Integer; external; function Mxalloc( amount : LongInt; mode : Integer ) : Pointer; external; function Fdup( handle : Integer ) : LongInt; external; function Fforce( stdh, nonstdh : Integer ) : Integer; external; function Dgetpath( var buf : String; driveno : Integer ) : Integer; external; function Malloc( amount : LongInt ) : Pointer; external; function Mfree( saddr : Pointer ) : Integer; external; function Mshrink( zero : Integer; block : Pointer; newsize : LongInt ) : Integer; external; function Pexec( mode : Integer; prgfile, cmdline : String; envptr : Pointer ) : LongInt; external; procedure Pterm( retcode : Integer ); external; function Fsfirst( fspec : String; attribs : Integer ) : Integer; external; function Fsnext : Integer; external; function Frename( oldname, newname : String ) : Integer; external; procedure Fdatime( var timeptr : DOSTIME; handle, wflag : Integer ); external; function Flock( handle, mode : Integer; start, length : LongInt ) : LongInt; external; function Syield : Integer; external; function Fpipe( var usrh : IARRAY_2 ) : Integer; external; function Fcntl( f : Integer; arg : LongInt; cmd : Integer ) : Integer; external; function Finstat( f : Integer ) : LongInt; external; function Foutstat( f : Integer ) : LongInt; external; function Fgetchar( f, mode : Integer ) : LongInt; external; function Fputchar( f : Integer; c : LongInt; mode : Integer ) : LongInt; external; function Pwait : LongInt; external; function Pnice( delta : Integer ) : Integer; external; function Pgetpid : Integer; external; function Pgetppid : Integer; external; function Pgetpgrp : Integer; external; function Psetpgrp( pid, newgrp : Integer ) : Integer; external; function Pgetuid : Integer; external; function Psetuid( id : Integer ) : Integer; external; function Pkill( pid, sig : Integer ) : Integer; external; function Psignal( sig : Integer; handler : Pointer ) : Pointer; external; function Pvfork : Integer; external; function Pgetgid : Integer; external; function Psetgid( id : Integer ) : Integer; external; function Psigblock( mask : LongInt ) : LongInt; external; function Psigsetmask( mask : LongInt ) : LongInt; external; function Pusrval( arg : LongInt ) : LongInt; external; function Pdomain( newdom : Integer ) : Integer; external; procedure Psigreturn; external; function Pfork : LongInt; external; function Pwait3( flag : Integer; var rusage : LARRAY_2 ) : LongInt; external; function Fselect( timeout : Word; var rfds, wfds, xfds : LongInt ) : Integer; external; procedure Prusage( var r : LARRAY_8 ); external; function Psetlimit( lim : Integer; value : LongInt ): LongInt; external; function Talarm( secs : LongInt ): LongInt; external; procedure Pause; external; function Sysconf( n : Integer ): LongInt; external; function Psigpending : LongInt; external; function Dpathconf( name : String ; n : Integer ) : LongInt; external; function Pmsg( mode : Integer; mbox : LongInt; var msg : MSGTYPE ) : LongInt; external; function Fmidipipe( pid, inp, outp : Integer ) : LongInt; external; function Prenice( pid, delta : Integer ) : Integer; external; function Dopendir( name : String ; flag : Integer ) : LongInt; external; function Dreaddir( buflen : Integer; dir : LongInt; var buf : String ) : LongInt; external; function Drewinddir( dir : LongInt ) : LongInt; external; function Dclosedir( dir : LongInt ) : LongInt; external; function Fxattr( flag : Integer; name : String; var buf : XATTR ) : LongInt; external; function Flink( oldname, newname : String ) : LongInt; external; function Fsymlink( oldname, newname : String ) : LongInt; external; function Freadlink( size : Integer; var buf : String; name : String ) : LongInt; external; function Dcntl( cmd : Integer; name : String; arg : LongInt ) : LongInt; external; function Fchown( name : String; uid, gid : Integer ) : LongInt; external; function Fchmod( name : String; mode : Integer ) : LongInt; external; function Pumask( mode : Word ) : LongInt; external; function Psemaphore( mode : Integer; id, timeout : LongInt ) : LongInt; external; (* ++++++++++++++++++++++++++++++++++++++++ *) (* XBIOS *) (* ++++++++++++++++++++++++++++++++++++++++ *) procedure Initmous( typ : Integer; var param : MOUSE; vec : Pointer ); external; function Ssbrk( amount : Integunit gem; interface (* -------------------------------------------------------------------- *) (* constants, types & variables *) (* -------------------------------------------------------------------- *) const (* ++++++++++++++++++++++++++++++++++++++++ *) (* GEM *) (* ++++++++++++++++++++++++++++++++++++++++ *) White = 0; Black = 1; Red = 2; Green = 3; Blue = 4; Cyan = 5; Yellow = 6; Magenta = 7; LWhite = 8; LBlack = 9; LRed = 10; LGreen = 11; LBlue = 12; LCyan = 13; LYellow = 14; LMagenta = 15; control_max = 11; intin_max = 131; intout_max = 139; workout_max = 56; workin_max = 10; addrin_max = 15; addrout_max = 15; global_max = 14; pts_max = 144; (* ++++++++++++++++++++++++++++++++++++++++ *) (* AES *) (* ++++++++++++++++++++++++++++++++++++++++ *) MU_KEYBD = 1; MU_BUTTON = 2; MU_M1 = 4; MU_M2 = 8; MU_MESAG = 16; MU_TIMER = 32; K_RSHIFT = 1; K_LSHIFT = 2; K_CTRL = 4; K_ALT = 8; MN_SELECTED = 10; WM_REDRAW = 20; WM_TOPPED = 21; WM_CLOSED = 22; WM_FULLED = 23; WM_ARROWED = 24; WM_HSLID = 25; WM_VSLID = 26; WM_SIZED = 27; WM_MOVED = 28; WM_NEWTOP = 29; WM_UNTOPPED = 31; AC_OPEN = 40; AC_CLOSE = 41; CT_UPDATE = 50; CT_MOVE = 51; CT_NEWTOP = 52; WA_UPPAGE = 0; WA_DNPAGE = 1; WA_UPLINE = 2; WA_DNLINE = 3; WA_LFPAGE = 4; WA_RTPAGE = 5; WA_LFLINE = 6; WA_RTLINE = 7; FMD_START = 0; FMD_GROW = 1; FMD_SHRINK = 2; FMD_FINISH = 3; R_TREE = 0; R_OBJECT = 1; R_TEDINFO = 2; R_ICONBLK = 3; R_BITBLK = 4; R_STRING = 5; R_IMAGEDATA = 6; R_OBSPEC = 7; R_TEPTEXT = 8; R_TEPTMPLT = 9; R_TEPVALID = 10; R_IBPMASK = 11; R_IBPDATA = 12; R_IBPTEXT = 13; R_BIPDATA = 14; R_FRSTR = 15; R_FRIMG = 16; NAME = 1; CLOSER = 2; FULLER = 4; MOVER = 8; INFO = 16; SIZER = 32; UPARROW = 64; DNARROW = 128; VSLIDE = 256; LFARROW = 512; RTARROW = 1024; HSLIDE = 2048; WC_BORDER = 0; WC_WORK = 1; WF_KIND = 1; WF_NAME = 2; WF_INFO = 3; WF_WORKXYWH = 4; WF_CURRXYWH = 5; WF_PREVXYWH = 6; WF_FULLXYWH = 7; WF_HSLIDE = 8; WF_VSLIDE = 9; WF_TOP = 10; WF_FIRSTXYWH = 11; WF_NEXTXYWH = 12; WF_RESVD = 13; WF_NEWDESK = 14; WF_HSLSIZE = 15; WF_VSLSIZE = 16; WF_SCREEN = 17; WF_COLOR = 18; WF_TATTRB = 18; WF_DCOLOR = 19; WF_SIZTOP = 19; W_BOX = 0; W_TITLE = 1; W_CLOSER = 2; W_NAME = 3; W_FULLER = 4; W_INFO = 5; W_DATA = 6; W_WORK = 7; W_SIZER = 8; W_VBAR = 9; W_UPARROW = 10; W_DNARROW = 11; W_VSLIDE = 12; W_VELEV = 13; W_HBAR = 14; W_LFARROW = 15; W_RTARROW = 16; W_HSLIDE = 17; W_HELEV = 18; END_UPDATE = 0; BEG_UPDATE = 1; END_MCTRL = 2; BEG_MCTRL = 3; ARROW = 0; TEXT_CRSR = 1; BUSYBEE = 2; HOURGLASS = 2; POINT_HAND = 3; FLAT_HAND = 4; THIN_CROSS = 5; THICK_CROSS = 6; OUTLN_CROSS = 7; USER_DEF = 255; M_OFF = 256; M_ON = 257; G_BOX = 20; G_TEXT = 21; G_BOXTEXT = 22; G_IMAGE = 23; G_USERDEF = 24; G_IBOX = 25; G_BUTTON = 26; G_BOXCHAR = 27; G_STRING = 28; G_FTEXT = 29; G_FBOXTEXT = 30; G_ICON = 31; G_TITLE = 32; NONE = 0; SELECTABLE = 1; DEFAULT = 2; F_EXIT = 4; EDITABLE = 8; RBUTTON = 16; LASTOB = 32; TOUCHEXIT = 64; HIDETREE = 128; INDIRECT = 256; NORMAL = 0; SELECTED = 1; CROSSED = 2; CHECKED = 4; DISABLED = 8; OUTLINED = 16; SHADOWED = 32; EDSTART = 0; EDINIT = 1; EDCHAR = 2; EDEND = 3; IBM = 3; SMALL = 5; TE_LEFT = 0; TE_RIGHT = 1; TE_CNTR = 2; ROOT = 0; MAX_DEPTH = 8; GDOS_NONE = -2; (* no GDOS installed *) GDOS_FSM = $5F46534D; (* '_FSM' - FSMGDOS installed *) GDOS_FNT = $5F464E54; (* '_FNT' - FONTGDOS installed *) BackSpace = $0E08; Tab = $0F09; S_Delete = $537F; S_Insert = $5200; Shift_Ins = $5230; Return = $1C0D; Enter = $720D; Undo = $6100; Help = $6200; Home = $4700; Cur_Up = $4800; Cur_Down = $5000; Cur_Left = $4B00; Cur_Right = $4D00; Shift_Home = $4737; Shift_CU = $4838; Shift_CD = $5032; Shift_CL = $4B34; Shift_CR = $4D36; Esc = $011B; Ctrl_A = $1E01; Ctrl_B = $3002; Ctrl_C = $2E03; Ctrl_D = $2004; Ctrl_E = $1205; Ctrl_F = $2106; Ctrl_G = $2207; Ctrl_H = $2308; Ctrl_I = $1709; Ctrl_J = $240A; Ctrl_K = $250B; Ctrl_L = $260C; Ctrl_M = $320D; Ctrl_N = $310E; Ctrl_O = $180F; Ctrl_P = $1910; Ctrl_Q = $1011; Ctrl_R = $1312; Ctrl_S = $1F13; Ctrl_T = $1414; Ctrl_U = $1615; Ctrl_V = $2F16; Ctrl_W = $1117; Ctrl_X = $2D18; Ctrl_Y = $2C19; Ctrl_Z = $151A; Ctrl_1 = $0211; Ctrl_2 = $0300; Ctrl_3 = $0413; Ctrl_4 = $0514; Ctrl_5 = $0615; Ctrl_6 = $071E; Ctrl_7 = $0817; Ctrl_8 = $0918; Ctrl_9 = $0A19; Ctrl_0 = $0B10; Alt_A = $1E00; Alt_B = $3000; Alt_C = $2E00; Alt_D = $2000; Alt_E = $1200; Alt_F = $2100; Alt_G = $2200; Alt_H = $2300; Alt_I = $1700; Alt_J = $2400; Alt_K = $2500; Alt_L = $2600; Alt_M = $3200; Alt_N = $3100; Alt_O = $1800; Alt_P = $1900; Alt_Q = $1000; Alt_R = $1300; Alt_S = $1F00; Alt_T = $1400; Alt_U = $1600; Alt_V = $2F00; Alt_W = $1100; Alt_X = $2D00; Alt_Y = $2C00; Alt_Z = $1500; Alt_1 = $7800; Alt_2 = $7900; Alt_3 = $7A00; Alt_4 = $7B00; Alt_5 = $7C00; Alt_6 = $7D00; Alt_7 = $7E00; Alt_8 = $7F00; Alt_9 = $8000; Alt_0 = $8100; F1 = $3B00; F2 = $3C00; F3 = $3D00; F4 = $3E00; F5 = $3F00; F6 = $4000; F7 = $4100; F8 = $4200; F9 = $4300; F10 = $4400; Shift_F1 = $5400; Shift_F2 = $5500; Shift_F3 = $5600; Shift_F4 = $5700; Shift_F5 = $5800; Shift_F6 = $5900; Shift_F7 = $5A00; Shift_F8 = $5B00; Shift_F9 = $5C00; Shift_F10 = $5D00; Ctrl_AE = $2804; Ctrl_OE = $2714; Ctrl_UE = $1A01; Alt_AE = $285D; Alt_OE = $275B; Alt_UE = $1A40; SH_Alt_AE = $287D; SH_Alt_OE = $277B; SH_Alt_UE = $1A5C; (* ++++++++++++++++++++++++++++++++++++++++ *) (* VDI *) (* ++++++++++++++++++++++++++++++++++++++++ *) TA_LEFT = 0; TA_CENTER = 1; TA_RIGHT = 2; TA_BASELINE = 0; TA_HALF = 1; TA_ASCENT = 2; TA_BOTTOM = 3; TA_DESCENT = 4; TA_TOP = 5; MD_REPLACE = 1; MD_TRANS = 2; MD_XOR = 3; MD_ERASE = 4; MT_DOT = 1; MT_PLUS = 2; MT_ASTERISK = 3; MT_SQUARE = 4; MT_DCROSS = 5; MT_DIAMOND = 6; LE_SQUARED = 0; LE_ARROWED = 1; LE_ROUNDED = 2; FIS_HOLLOW = 0; FIS_SOLID = 1; FIS_PATTERN = 2; FIS_HATCH = 3; FIS_USER = 4; DOTS = 3; GRID = 6; BRICKS = 9; WEAVE = 16; LT_SOLID = 1; LT_LONGDASH = 2; LT_DOTTED = 3; LT_DASHDOT = 4; LT_DASHED = 5; LT_DASHDOTDOT = 6; LT_USERDEF = 7; TF_NORMAL = 0; TF_THICKENED = 1; TF_LIGHTENED = 2; TF_SLANTED = 4; TF_UNDERLINED = 8; TF_OUTLINED = 16; TF_SHADOWED = 32; ALL_WHITE = 0; S_AND_D = 1; S_AND_NOTD = 2; S_ONLY = 3; NOTS_AND_D = 4; D_ONLY = 5; S_XOR_D = 6; S_OR_D = 7; NOT_SORD = 8; NOT_SXORD = 9; D_INVERT = 10; S_OR_NOTD = 11; NOT_D = 12; NOTS_OR_D = 13; NOT_SANDD = 14; ALL_BLACK = 15; MODE_REQUEST = 1; MODE_SAMPLE = 2; DEV_LOCATOR = 1; DEV_VALUATOR = 2; DEV_CHOICE = 3; DEC_STRING = 4; type (* ++++++++++++++++++++++++++++++++++++++++ *) (* GEM *) (* ++++++++++++++++++++++++++++++++++++++++ *) global_ARRAY = ARRAY[0..global_max] of Integer; control_ARRAY = ARRAY[0..control_max] of Integer; intin_ARRAY = ARRAY[0..intin_max] of Integer; intout_ARRAY = ARRAY[0..intout_max] of Integer; ptsin_ARRAY = ARRAY[0..pts_max] of Integer; ptsout_ARRAY = ARRAY[0..pts_max] of Integer; addrin_ARRAY = ARRAY[0..addrin_max] of Pointer; addrout_ARRAY = ARRAY[0..addrout_max] of Pointer; workout_ARRAY = ARRAY[0..workout_max] of Integer; workin_ARRAY = ARRAY[0..workin_max] of Integer; VDI_param = record pblock : ^control_ARRAY; iioff : ^intin_ARRAY; pioff : ^ptsin_ARRAY; iooff : ^intout_ARRAY; pooff : ^ptsout_ARRAY; end; AES_param = record cb_pcontrol : ^control_ARRAY; cb_pglobal : ^global_ARRAY; cb_pintin : ^intin_ARRAY; cb_pintout : ^intout_ARRAY; cb_paddrin : ^addrin_ARRAY; cb_paddrout : ^addrout_ARRAY; end; VDI_block = record control : control_ARRAY; intin : intin_ARRAY; intout : intout_ARRAY; ptsin : ptsin_ARRAY; ptsout : ptsout_ARRAY; end; AES_block = record control : control_ARRAY; global : global_ARRAY; intin : intin_ARRAY; intout : intout_ARRAY; addrin : addrin_ARRAY; addrout : addrout_ARRAY; end; ARRAY_2 = ARRAY[0..1] of Integer; ARRAY_3 = ARRAY[0..2] of Integer; ARRAY_4 = ARRAY[0..3] of Integer; ARRAY_5 = ARRAY[0..4] of Integer; ARRAY_6 = ARRAY[0..5] of Integer; ARRAY_8 = ARRAY[0..7] of Integer; ARRAY_10 = ARRAY[0..9] of Integer; ARRAY_16 = ARRAY[0..15] of Integer; (* ++++++++++++++++++++++++++++++++++++++++ *) (* AES *) (* ++++++++++++++++++++++++++++++++++++++++ *) TEDINFOPtr = ^TEDINFO; TEDINFO = record te_ptext : Pointer; te_ptmplt : Pointer; te_pvalid : Pointer; te_font : Integer; te_resvd1 : Integer; te_just : Integer; te_color : Integer; te_resvd2 : Integer; te_thickness : Integer; te_txtlen : Integer; te_tmplen : Integer; end; ICONBLKPtr = ^ICONBLK; ICONBLK = record ib_pmask : Pointer; ib_pdata : Pointer; ib_ptext : Pointer; ib_char : Integer; ib_xchar : Integer; ib_ychar : Integer; ib_xicon : Integer; ib_yicon : Integer; ib_wicon : Integer; ib_hicon : Integer; ib_xtext : Integer; ib_ytext : Integer; ib_wtext : Integer; ib_htext : Integer; ib_resvd : Integer; end; BITBLKPtr = ^BITBLK; BITBLK = record bi_pdata : Pointer; bi_wb : Integer; bi_hl : Integer; bi_x : Integer; bi_y : Integer; bi_color : Integer; end; USERBLKPtr = ^USERBLK; USERBLK = record ub_code : Pointer; ub_parm : LongInt; end; MFORMPtr = ^MFORM; MFORM = record mf_xhot : Integer; mf_yhot : Integer; mf_nplanes : Integer; mf_fg : Integer; mf_bg : Integer; mf_mask : ARRAY_16; mf_data : ARRAY_16; end; OBSPECPtr = ^OBSPEC; OBSPEC = record case Integer of 0, G_BOX, G_IBOX, G_BOXCHAR: ( index : LongInt ); G_BOXTEXT, G_TEXT, G_FTEXT, G_FBOXTEXT: ( ted_info : TEDINFOPtr ); G_IMAGE: ( bit_blk : BITBLKPtr ); G_USERDEF: ( user_blk : USERBLKPtr ); G_BUTTON, G_STRING, G_TITLE: ( free_string : Pointer ); G_ICON: ( icon_blk : ICONBLKPtr ); INDIRECT: ( ob_spec : OBSPECPtr ); end; AESOBJECTPtr = ^AESOBJECT; AESOBJECT = record ob_next : Integer; ob_head : Integer; ob_tail : Integer; ob_type : Word; ob_flags : Word; ob_state : Word; ob_spec : OBSPEC; ob_x : Integer; ob_y : Integer; ob_width : Integer; ob_height : Integer; end; AESTreePtr = ^AESTree; AESTree = Array[0..8192] of AESOBJECT; PARMBLKPtr = ^PARMBLK; PARMBLK = record pb_tree : AESTreePtr; pb_obj : Integer; pr_prevstate : Integer; pr_currstate : Integer; pb_x : Integer; pb_y : Integer; pb_w : Integer; pb_h : Integer; pb_xc : Integer; pb_yc : Integer; pb_wc : Integer; pb_hc : Integer; pb_parm : LongInt; end; RSHDRPtr = ^RSHDR; RSHDR = record rsh_vrsn : Word; rsh_object : Word; rsh_tedinfo : Word; rsh_iconblk : Word; rsh_bitblk : Word; rsh_frstr : Word; rsh_string : Word; rsh_imdata : Word; rsh_frimg : Word; rsh_trindex : Word; rsh_nobs : Word; rsh_ntree : Word; rsh_nted : Word; rsh_nib : Word; rsh_nbb : Word; rsh_nstring : Word; rsh_nimages : Word; rsh_rssize : Word; end; (* ++++++++++++++++++++++++++++++++++++++++ *) (* VDI *) (* ++++++++++++++++++++++++++++++++++++++++ *) FONT_HDRPtr = ^FONT_HDR; FONT_HDR = record font_id : Integer; point : Integer; name : Array[0..31] of Char; first_ade : Word; last_ade : Word; top : Word; ascent : Word; half : Word; descent : Word; bottom : Word; max_char_width : Word; max_cell_width : Word; left_offset : Word; right_offset : Word; thicken : Word; ul_size : Word; lighten : Word; skew : Word; flags : Word; hor_table : Pointer; off_table : Pointer; dat_table : Pointer; form_width : Word; form_height : Word; next_font : FONT_HDRPtr; end; MFDBPtr = ^MFDB; MFDB = record fd_addr : Pointer; fd_w : Integer; fd_h : Integer; fd_wdwidth : Integer; fd_stand : Integer; fd_nplanes : Integer; fd_r1 : Integer; fd_r2 : Integer; fd_r3 : Integer; end; String32 = String[32]; String80 = String[80]; String125 = String[125]; fsm_int = record value : Integer; remainder : Integer; end; fsm_fpoint_t = record x : fsm_int; y : fsm_int; end; fsm_data_fpoint_tPtr = ^fsm_data_fpoint_t; fsm_data_fpoint_t = record pt : fsm_fpoint_t; cpt : fsm_fpoint_t; sharp : fsm_int; end; fsm_component_tPtr = ^fsm_component_t; fsm_component_t = record reserved1 : Integer; nextComponent : fsm_component_tPtr; numPoints : Byte; numCurves : Byte; numContours : Byte; reserved2 : array[1..13] of Byte; points : fsm_data_fpoint_tPtr; startPtr : Pointer; end; var (* ++++++++++++++++++++++++++++++++++++++++ *) (* GEM *) (* ++++++++++++++++++++++++++++++++++++++++ *) VDI_blk : VDI_block; Gem_pb : AES_block; VDI_pb : VDI_param; AES_pb : AES_param; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* -------------------------------------------------------------------- *) procedure SetFreeString( tree : AESTreePtr; obj : Integer; str : String ); external; procedure GetFreeString( tree : AESTreePtr; obj : Integer; var str : String ); external; procedure SetPtext( tree : AESTreePtr; obj : Integer; str : String ); external; procedure GetPtext( tree : AESTreePtr; obj : Integer; var str : String ); external; procedure SetPtmplt( tree : AESTreePtr; obj : Integer; str : String ); external; procedure GetPtmplt( tree : AESTreePtr; obj : Integer; var str : String ); external; procedure SetPvalid( tree : AESTreePtr; obj : Integer; str : String ); external; procedure GetPvalid( tree : AESTreePtr; obj : Integer; var str : String ); external; procedure SetIcontext( tree : AESTreePtr; obj : Integer; str : String ); external; procedure GetIcontext( tree : AESTreePtr; obj : Integer; var str : String ); external; procedure WindSetTitle( handle : Integer; str : String; var buf : String ); external; procedure WindSetInfo( handle : Integer; str : String; var buf : String ); external; procedure WindSetNewDesk( tree : AESTreePtr; firstObj : Integer ); external; (* ++++++++++++++++++++++++++++++++++++++++ *) (* AES *) (* ++++++++++++++++++++++++++++++++++++++++ *) function appl_init : Integer; external; function appl_read( ap_rid, ap_rlength : Integer; ap_rpbuff : Pointer ) : Integer; external; function appl_write( ap_wid, ap_wlength : Integer; ap_wpbuff : Pointer ) : Integer; external; function appl_find( ap_fpname : String ) : Integer; external; function appl_tplay( ap_tpmem : Pointer; ap_tpnum, ap_tpscale : Integer ) : Integer; external; function appl_trecord( ap_trmem : Pointer; ap_trcount : Integer ) : Integer; external; function appl_bvset( ap_bvdisk, ap_bvhard : Word ) : Integer; external; function appl_yield : Integer; external; function appl_exit : Integer; external; function appl_search( ap_smode : Integer; var ap_sname : String; var ap_stype, ap_sid : Integer ) : Integer; external; function evnt_keybd : Integer; external; function evnt_button( ev_bclicks, ev_bmask, ev_bstate : Integer; var ev_bmx, ev_bmy, ev_bbutton, ev_bkstate : Integer ) : Integer; external; function evnt_mouse( ev_moflags, ev_mox, ev_moy, ev_mowidth, ev_moheight : Integer; var ev_momx, ev_momy, ev_mobutton, ev_mokstate : Integer ) : Integer; external; function evnt_mesag( var ev_mgpbuff : ARRAY_8 ) : Integer; external; function evnt_timer( ev_tlocount, ev_thicount : Word ) : Integer; external; function evnt_multi( ev_mflags, ev_mbclicks, ev_mbmask, ev_mbstate, ev_mm1flags, ev_mm1x, ev_mm1y, ev_mm1width, ev_mm1height, ev_mm2flags, ev_mm2x, ev_mm2y, ev_mm2width, ev_mm2height : Integer; var ev_mmgpbuff : ARRAY_8; ev_mtlocount, ev_mthicount : Integer; var ev_mmox, ev_mmoy, ev_mmobutton, ev_mmokstate, ev_mkreturn, ev_mbreturn : Integer ) : Integer; external; function evnt_dclick( ev_dnew, ev_dgetset : Integer ) : Integer; external; function menu_bar( me_btree : AESTreePtr; me_bshow : Integer ) : Integer; external; function menu_icheck( me_ctree : AESTreePtr; me_citem, me_ccheck : Integer ) : Integer; external; function menu_ienable( me_etree : AESTreePtr; me_eitem, me_eenable : Integer ) : Integer; external; function menu_tnormal( me_ntree : AESTreePtr; me_ntitle, me_nnormal : Integer ) : Integer; external; function menu_text( me_ttree : AESTreePtr; me_titem : Integer; me_ttext : String ) : Integer; external; function menu_register( me_rapid : Integer; me_rpstring : String ) : Integer; external; function menu_unregister( me_uapid : Integer ) : Integer; external; function objc_add( ob_atree : AESTreePtr; ob_aparent, ob_achild : Integer ) : Integer; external; function objc_delete( ob_dltree : AESTreePtr; ob_dlobject : Integer ) : Integer; external; function objc_draw( ob_drtree : AESTreePtr; ob_drstartob, ob_drdepth, ob_drxclip, ob_dryclip, ob_drwclip, ob_drhclip : Integer ) : Integer; external; function objc_find( ob_ftree : AESTreePtr; ob_fstartob, ob_fdepth, ob_fmx, ob_fmy : Integer ) : Integer; external; function objc_offset( ob_oftree : AESTreePtr; ob_ofobject : Integer; var ob_ofxoff, ob_ofyoff : Integer ) : Integer; external; function objc_order( ob_ortree : AESTreePtr; ob_orobject, ob_ornewpos : Integer ) : Integer; external; function objc_edit( ob_edtree : AESTreePtr; ob_edobject, ob_edchar : Integer; var ob_edidx : Integer; ob_edkind : Integer ) : Integer; external; function objc_change( ob_ctree : AESTreePtr; ob_cobject, ob_cresvd, ob_xclip, ob_yclip, ob_wclip, ob_hclip, ob_cnewstate, ob_credraw : Integer ) : Integer; external; function form_do( fo_dotree : AESTreePtr; fo_dostartob : Integer ) : Integer; external; function form_dial( fo_diflag, fo_dilittlx, fo_dilittly, fo_dilittlw, fo_dilittlh, fo_dibigx, fo_dibigy, fo_dibigw, fo_dibigh : Integer ) : Integer; external; function form_alert( fo_adefbttn : Integer; fo_astring : String ) : Integer; external; function form_error( fo_enum : Integer ) : Integer; external; function form_center( fo_ctree : AESTreePtr; var fo_cx, fo_cy, fo_cw, fo_ch : Integer ) : Integer; external; function form_keybd( fo_ktree : AESTreePtr; fo_kobject, fo_kobnext, fo_kchar : Integer; var fo_knxtobject, fo_knxtchar : Integer ) : Integer; external; function form_button( fo_btree : AESTreePtr; fo_bobject, fo_bclicks : Integer; var fo_bnxtobj : Integer ) : Integer; external; function graf_rubbox( gr_rx, gr_ry, gr_rminwidth, gr_rminheight : Integer; var gr_rlastwidth, gr_rlastheight : Integer ) : Integer; external; function graf_rubberbox( gr_rx, gr_ry, gr_rminwidth, gr_rminheight : Integer; var gr_rlastwidth, gr_rlastheight : Integer ) : Integer; external; function graf_dragbox( gr_dwidth, gr_dheight, gr_dstartx, gr_dstarty, gr_dboundx, gr_dboundy, gr_dboundw, gr_dboundh : Integer; var gr_dfinishx, gr_dfinishy : Integer ) : Integer; external; function graf_mbox( gr_mwidth, gr_mheight, gr_msourcex, gr_msourcey, gr_mdestx, gr_mdesty : Integer ) : Integer; external; function graf_movebox( gr_mwidth, gr_mheight, gr_msourcex, gr_msourcey, gr_mdestx, gr_mdesty : Integer ) : Integer; external; function graf_growbox( gr_gstx, gr_gsty, gr_gstwidth, gr_gstheight, gr_gfinx, gr_gfiny, gr_gfinwidth, gr_gfinheight : Integer ) : Integer; external; function graf_shrinkbox( gr_sfinx, gr_sfiny, gr_sfinwidth, gr_sfinheight, gr_sstx, gr_ssty, gr_sstwidth, gr_sstheight : Integer ) : Integer; external; function graf_watchbox( gr_wptree : AESTreePtr; gr_wobject, gr_winstate, gr_woutstate : Integer ) : Integer; external; function graf_slidebox( gr_slptree : AESTreePtr; gr_slparent, gr_slobject, gr_slvh : Integer ) : Integer; external; function graf_handle( var gr_hwchar, gr_hhchar, gr_hwbox, gr_hhbox : Integer ) : Integer; external; function graf_mouse( gr_monumber : Integer; gr_mofaddr : MFORMPtr ) : Integer; external; function graf_mkstate( var gr_mkmx, gr_mkmy, gr_mkmstate, gr_mkkstate : Integer ) : Integer; external; function scrp_read( var sc_rpscrap : String ) : Integer; external; function scrp_write( sc_wpscrap : String ) : Integer; external; function scrp_clear : Integer; external; function fsel_input( var fs_iinpath, fs_iinsel : String; var fs_iexbutton : Integer ) : Integer; external; function fsel_exinput( var fs_einpath, fs_einsel : String; var fs_eexbutton : Integer; fs_elabel : String ) : Integer; external; function wind_create( wi_crkind, wi_crwx, wi_crwy, wi_crww, wi_crwh : Integer ) : Integer; external; function wind_open( wi_ohandle, wi_owx, wi_owy, wi_oww, wi_owh : Integer ) : Integer; external; function wind_close( wi_chandle : Integer ) : Integer; external; function wind_delete( wi_dhandle : Integer ) : Integer; external; function wind_get( wi_ghandle, wi_gfield : Integer; var wi_gw1, wi_gw2, wi_gw3, wi_gw4 : Integer ) : Integer; external; function wind_set( wi_shandle, wi_sfield, wi_sw1, wi_sw2, wi_sw3, wi_sw4 : Integer ) : Integer; external; function wind_find( wi_fmx, wi_fmy : Integer ) : Integer; external; function wind_update( wi_ubegend : Integer ) : Integer; external; function wind_calc( wi_ctype, wi_ckind, wi_cinx, wi_ciny, wi_cinw, wi_cinh : Integer; var wi_coutx, wi_couty, wi_coutw, wi_couth : Integer ) : Integer; external; procedure wind_new; external; function rsrc_load( re_lpfname : String ) : Integer; external; function rsrc_free : Integer; external; function rsrc_gaddr( re_gtype, re_gindex : Integer; var re_gaddr : Pointer ) : Integer; external; function rsrc_saddr( re_stype, re_sindex : Integer; re_saddr : Pointer ) : Integer; external; function rsrc_obfix( re_obtree : AESTreePtr; re_oobject : Integer ) : Integer; external; function rsrc_rcfix( rc_header : RSHDRPtr ) : Integer; external; function shel_read( var sh_rpcmd, sh_rptail : String ) : Integer; external; function shel_write( sh_wdoex, sh_wisgr, sh_wisover : Integer; sh_wpcmd, sh_wptail : String ) : Integer; external; function shel_get( sh_gaddr : Pointer; sh_glen : Integer ) : Integer; external; function shel_put( sh_paddr : Pointer; sh_plen : Integer ) : Integer; external; function shel_find( var sh_fpbuff : String ) : Integer; external; function shel_envrn( var sh_epvalue : Pointer; sh_eparm : String ) : Integer; external; function shel_rdef( var sh_rlpcmd, sh_rlpdir : String ) : Integer; external; function shel_wdef( sh_wlpcmd, sh_wlpdir : String ) : Integer; external; function xgrf_stepcalc( xg_storgw, xg_storgh, xg_stxc, xg_styc, xg_stw, xg_sth : Integer; var xg_stpcx, xg_stpcy, xg_stpcnt, xg_stpxstep, xg_stpystep : Integer ) : Integer; external; function xgrf_2box( xg_2cnt, xg_2xstep, xg_2ystep, xg_2doubled, xg_2corners, xg_2xc, xg_2yc, xg_2w, xg_2h : Integer ) : Integer; external; (* ++++++++++++++++++++++++++++++++++++++++ *) (* VDI *) (* ++++++++++++++++++++++++++++++++++++++++ *) function vq_gdos : Integer; external; function vq_vgdos : LongInt; external; procedure v_opnwk( WorkIn : workin_Array; var handle : Integer; var WorkOut : workout_Array ); external; procedure v_clswk( handle : Integer ); external; procedure v_opnvwk( WorkIn : workin_Array; var handle : Integer; var WorkOut : workout_Array ); external; procedure v_clsvwk( handle : Integer ); external; procedure v_clrwk( handle : Integer ); external; procedure v_updwk( handle : Integer ); external; function vst_load_fonts( handle, select : Integer ) : Integer; external; procedure vst_unload_fonts( handle, select : Integer ); external; procedure vs_clip( handle, clipflag : Integer; pxarray : ARRAY_4 ); external; procedure v_pline( handle, count : Integer; pxyarray : ptsin_ARRAY ); external; procedure v_pmarker( handle, count : Integer; pxyarray : ptsin_ARRAY ); external; procedure v_gtext( handle, x, y : Integer; outputstring : string ); external; procedure v_fillarea( handle, count : Integer; pxyarray : ptsin_ARRAY ); external; procedure v_cellarray( handle : Integer; pxyarray : ARRAY_4; rowlength, elused, numrows, wrtmode : Integer; colarray : intin_ARRAY ); external; procedure v_contourfill( handle, x, y, index : Integer ); external; procedure vr_recfl( handle : Integer; pxyarray : ARRAY_4 ); external; procedure v_bar( handle : Integer; pxyarray : ARRAY_4 ); external; procedure v_arc( handle, x, y, radius, begang, endang : Integer ); external; procedure v_pieslice( handle, x, y, radius, begang, endang : Integer ); external; procedure v_circle( handle, x, y, radius : Integer ); external; procedure v_ellipse( handle, x, y, xradius, yradius : Integer ); external; procedure v_ellarc( handle, x, y, xradius, yradius, begang, endang : Integer ); external; procedure v_ellpie( handle, x, y, xradius, yradius, begang, endang : Integer ); external; procedure v_rbox( handle : Integer; xyarray : ARRAY_4 ); external; procedure v_rfbox( handle : Integer; xyarray : ARRAY_4 ); external; procedure v_justified( handle, x, y : Integer; outputstring : string; width, wordspace, charspace : Integer ); external; function vswr_mode( handle, mode : Integer ) : Integer; external; procedure vs_color( handle, index : Integer; rgb_in : ARRAY_3 ); external; function vsl_type( handle, style : Integer ) : Integer; external; procedure vsl_udsty( handle, pattern : Integer ); external; function vsl_width( handle, width : Integer ) : Integer; external; function vsl_color( handle, color_index : Integer ) : Integer; external; procedure vsl_ends( handle, beg_style, end_style : Integer ); external; function vsm_type( handle, symbol : Integer ) : Integer; external; function vsm_height( handle, height : Integer ) : Integer; external; function vsm_color( handle, color_index : Integer ) : Integer; external; procedure vst_height( handle, height : Integer; var char_width, char_height, cell_width, cell_height : Integer ); external; function vst_point( handle, point : Integer; var char_width, char_height, cell_width, cell_height : Integer ) : Integer; external; function vst_rotation( handle, angle : Integer ) : Integer; external; function vst_font( handle, font : Integer ) : Integer; external; function vst_color( handle, color_index : Integer ) : Integer; external; function vst_effects( handle, effect : Integer ) : Integer; external; procedure vst_alignment( handle, hor_in, vert_in : Integer; var hor_out, vert_out : Integer ); external; function vsf_interior( handle, style : Integer ) : Integer; external; function vsf_style( handle, style_index : Integer ) : Integer; external; function vsf_color( handle, color_index : Integer ) : Integer; external; function vsf_perimeter( handle, per_vis : Integer ) : Integer; external; procedure vsf_udpat( handle : Integer; pfill_pat : Pointer; planes : Integer ); external; procedure vro_cpyfm( handle, wr_mode : Integer; pxyarray : ARRAY_8; psrcMFDB, pdesMFDB : MFDB ); external; procedure vrt_cpyfm( handle, wr_mode : Integer; pxyarray : ARRAY_8; psrcMFDB, pdesMFDB : MFDB; color_index : ARRAY_2 ); external; procedure vr_trnfm( handle : Integer; psrcMFDB, pdesMFDB : MFDB ); external; procedure v_get_pixel( handle, x, y : Integer; var pel, index : Integer ); external; function vsin_mode( handle, dev_type, mode : Integer ) : Integer; external; procedure vrq_locator( handle, x, y : Integer; var xout, yout, term : Integer ); external; function vsm_locator( handle, x, y : Integer; var xout, yout, term : Integer ) : Integer; external; procedure vrq_valuator( handle, valuator_in : Integer; var valuator_out, terminator : Integer ); external; procedure vsm_valuator( handle, val_in : Integer; var val_out, term, status : Integer ); external; procedure vrq_choice( handle, ch_in : Integer; var ch_out : Integer ); external; function vsm_choice( handle : Integer; var choice : Integer ) : Integer; external; procedure vrq_string( handle, max_length, echo_mode : Integer; echo_xy : ARRAY_2; var resString : string ); external; function vsm_string( handle, max_length, echo_mode : Integer; echo_xy : ARRAY_2; var resString : string ) : Integer; external; procedure vsc_form( handle : Integer; pcur_form : MFORMPtr ); external; procedure vex_timv( handle : Integer; tim_addr : Pointer; var otim_addr : Pointer; var tim_conv : Integer ); external; procedure v_show_c( handle, doReset : Integer ); external; procedure v_hide_c( handle : Integer ); external; procedure vq_mouse( handle : Integer; var pstatus, x, y : Integer ); external; procedure vex_butv( handle : Integer; pusrcode : Pointer; var psavcode : Pointer ); external; procedure vex_motv( handle : Integer; pusrcode : Pointer; var psavcode : Pointer ); external; procedure vex_curv( handle : Integer; pusrcode : Pointer; var psavcode : Pointer ); external; procedure vq_key_s( handle : Integer; var pstatus : Integer ); external; procedure vq_extnd( handle, owflag : Integer; var WorkOut : workout_Array ); external; function vq_color( handle, color_index, set_flag : Integer; var rgb : ARRAY_3 ) : Integer; external; procedure vql_attributes( handle : Integer; var attrib : ARRAY_4 ); external; procedure vqm_attributes( handle : Integer; var attrib : ARRAY_4 ); external; procedure vqf_attributes( handle : Integer; var attrib : ARRAY_5 ); external; procedure vqt_attributes( handle : Integer; var attrib : ARRAY_10 ); external; procedure vqt_extent( handle : Integer; calcString : String; var extent : ARRAY_8 ); external; function vqt_width( handle, character : Integer; var cell_width, left_delta, right_delta : Integer ) : Integer; external; function vqt_name( handle, element_num : Integer; var name : String32 ) : Integer; external; procedure vq_cellarray( handle : Integer; pxyarray : ARRAY_4; row_length, num_rows : Integer; var el_used, rows_used, status : Integer; colarray : Pointer ); external; procedure vqin_mode( handle, dev_type : Integer; var input_mode : Integer ); external; procedure vqt_fontinfo( handle : Integer; var minADE, maxADE : Integer; var distances : ARRAY_5; var maxwidth : Integer; var effects : ARRAY_3 ); external; procedure vqt_justified( handle, x, y : Integer; outString : String; length, word_space, char_space : Integer; offsets : Pointer ); external; procedure vq_chcells( handle : Integer; var rows, columns : Integer ); external; procedure v_exit_cur( handle : Integer ); external; procedure v_enter_cur( handle : Integer ); external; procedure v_curup( handle : Integer ); external; procedure v_curdown( handle : Integer ); external; procedure v_curright( handle : Integer ); external; procedure v_curleft( handle : Integer ); external; procedure v_curhome( handle : Integer ); external; procedure v_eeos( handle : Integer ); external; procedure v_eeol( handle : Integer ); external; procedure v_curaddress( handle, row, column : Integer ); external; procedure v_curtext( handle : Integer; outString : String ); external; procedure v_rvon( handle : Integer ); external; procedure v_rvoff( handle : Integer ); external; procedure vq_curaddress( handle : Integer; var row, column : Integer ); external; function vq_tabstatus( handle : Integer ) : Integer; external; procedure v_hardcopy( handle : Integer ); external; procedure v_dspcur( handle, x, y : Integer ); external; procedure v_rmcur( handle : Integer ); external; procedure v_form_adv( handle : Integer ); external; procedure v_output_window( handle : Integer; xyarray : ARRAY_4 ); external; procedure v_clear_disp_list( handle : Integer ); external; procedure v_bit_image( handle : Integer; filename : string; aspect, x_scale, y_scale, h_align, v_align : Integer; xyarray : ARRAY_4 ); external; procedure vq_scan( handle : Integer; var g_slice, g_page, a_slice, a_page, div_fac : Integer ); external; procedure v_alpha_text( handle : Integer; outString : String ); external; function vs_palette( handle, palette : Integer ) : Integer; external; procedure v_sound( handle, frequency, duration : Integer ); external; function vs_mute( handle, action : Integer ) : Integer; external; procedure vt_resolution( handle, xres, yres : Integer; var xset, yset : Integer ); external; procedure vt_axis( handle, xres, yres : Integer; var xset, yset : Integer ); external; procedure vt_origin( handle, xorigin, yorigin : Integer ); external; procedure vq_tdimensions( handle : Integer; var xdimension, ydimension : Integer ); external; procedure vt_alignment( handle, dx, dy : Integer ); external; procedure vsp_film( handle, index, lightness : Integer ); external; function vqp_filmname( handle, index : Integer; var name : String ) : Integer; external; procedure vsc_expose( handle, state : Integer ); external; procedure v_meta_extents( handle, min_x, min_y, max_x, max_y : Integer ); external; procedure v_write_meta( handle, num_intin : Integer; a_intin : Pointer; num_ptsin : Integer; a_ptsin : Pointer ); external; procedure vm_pagesize( handle, pgwidth, pgheight : Integer ); external; procedure vm_coords( handle, llx, lly, urx, ury : Integer ); external; procedure vm_filename( handle : Integer; filename : String ); external; procedure v_offset( handle, offset : Integer ); external; procedure v_fontinit( handle : Integer; var fh : FONT_HDR ); external; procedure v_escape2000( handle, times : Integer ); external; function v_bez_on( handle : Integer ) : Integer; external; procedure v_bez_off( handle : Integer ); external; procedure v_set_app_buff( handle : Integer; address : Pointer; nparagraphs : Integer ); external; procedure v_bez( handle, count : Integer; xyarr, bezarr : Pointer; var extent : ARRAY_4; var totpts, totmoves : Integer ); external; procedure v_bez_fill( handle, count : Integer; xyarr, bezarr : Pointer; var extent : ARRAY_4; var totpts, totmoves : Integer ); external; function v_bez_qual( handle, prcnt : Integer; var actual : Integer ) : Integer; external; procedure vqt_f_extent( handle : Integer; str : String; var extent : ARRAY_8 ); external; procedure v_ftext( handle, x, y : Integer; str : String ); external; procedure v_killoutline( handle : Integer; component : fsm_component_tPtr ); external; procedure v_getoutline( handle, ch : Integer; var component : fsm_component_tPtr ); external; procedure vst_scratch( handle, mode : Integer ); external; procedure vst_error( handle, mode : Integer; var errorvar : Integer ); external; procedure vqt_advance( handle, ch : Integer; var advx, advy, remx, remy : Integer ); external; function vst_arbpt( handle, point : Integer; var chwd, chht, cellwd, cellht : Integer ) : Integer; external; procedure vqt_devinfo( handle, devnum : Integer; var devexits : Integer; var devstr : String ); external; function v_flushcache( handle : Integer ) : Integer; external; procedure vqt_cachesize( handle, which_cache : Integer; var size : LongInt ); external; procedure vqt_get_tables( handle : Integer; var gascii, style : Pointer ); external; function v_loadcache( handle : Integer; filename : String; mode : Integer ) : Integer; external; function v_saveunit crt; interface uses gem, tos; (* -------------------------------------------------------------------- *) (* constants, types & variables *) (* -------------------------------------------------------------------- *) const BW40 = 0; CO40 = 1; BW80 = 2; CO80 = 3; Mono = 7; Font8x8 = 256; C40 = 1; C80 = 3; Black = 0; Blue = 1; Green = 2; Cyan = 3; Red = 4; Magenta = 5; Brown = 6; LightGray = 7; DarkGray = 8; LightBlue = 9; LightGreen = 10; LightCyan = 11; LightRed = 12; LightMagenta = 13; Yellow = 14; White = 15; Blink = 128; var CheckBreak : Boolean; CheckEof : Boolean; CheckSnow : Boolean; DirectVideo : Boolean; LastMode : Word; TextAttr : Byte; WindMin, WindMax : Word; (* -------------------------------------------------------------------- *) (* functions & procedures *) (* -------------------------------------------------------------------- *) procedure AssignCrt( var f : Text ); external; procedure ClrEol; external; procedure ClrScr; external; procedure Delay( ms : Word ); external; procedure DelLine; external; procedure GotoXY( X, Y: Byte ); external; procedure HighVideo; external; procedure InsLine; external; function KeyPressed : Boolean; external; procedure LowVideo; external; procedure NormVideo; external; procedure NoSound; external; function ReadKey : Char; external; procedure Sound( Hz : Word ); external; procedure TextBackground( Color : Byte ); external; procedure TextColor( Color : Byte ); external; procedure TextMode( Mode : Word ); external; function WhereX : Byte; external; function WhereY : Byte; external; procedure Window( x1, y1, x2, y2 : Byte ); external; (* =================================================================== *) PPH1 fRBB      !"m%).38=CIMRX_fjnxz}zzzzzzzyyyyyyyÀyȀ̀рրڀހ !%)-159=BFJMRVZ:_;dkhnrw#{XƁˁЁՁفށ  2$)/4:Z>AFJOUZaejnty }  FHIKLMNNNāNɁNρNԁNفNށNNNNNNNNNNN N&N+N1N6N a ? @ Ł@ ́@ Ӂ@ ځ@ @ @ @ @ @ @ @ @ A @ %@ ,B 0n 4n 8 ~<*Hka*^`,# 0 }|MOJtUKFwG,3\z@0(]w2gOh? W'8'ej>j_@= ) )   2 1 k  r 7 Y x @ B  !N h #Pure Assembler auf einen Blick -C Aufrund Optio,Formale Beschreibung%BefehleDirektivMakrosCodeo mierFrmeldY'Abkrzl des sH( Zeichensatz Kommentar BezZnerpi Register-Spezifikap LabelsGrenNumerie KonstantAdresssart/StringkP-PosiszbEAusdrckepFlieka- Prioritirerator Die MC680x0 ProzIor-FamiJWeiye Inf| bd  kn Sausn Moola Handbrn zu  jewe9xbe.j- 00/10 16-bit Microproc grar' R)Ycanualx20 32Us@3@54@4851 Paged MemoryZ Un81 FloiqPoiQC JDۯaerfolgt m r zQIiyzPASM [os] source[.exsa] werZdh voraYlltMinusz gekennt, beispiہise -1. FallskB wn Argue verln, mer zusZn-2fat8V. NachAde Thlt 3݃, inklusJƲΐ aAQns L NamQuAdatei. W l E^, geh\8davoA), !s um+.S h9elt. Arnfmu explizigeb. "erzeugObjyc rZn` s*"( Ok0 Bedeut@1@ s wy\sj f$ 8 1:2Ѫ. V i" Peb8м2"rirddfumgat3 UmH2ЦQaZij,mn Sr bɆ4aM e(Ήnutz#(u` 5rubtmesd|sN. E( -IDlIcfurBnYt eweshardwmgar ID 0Qx L8[=ID]H rratGebi es 1882ٙ9ǤPaetsyrxi8.darf zwn \7Pie3v߀ 1tAp dH tzlziG-PPetz,\jЊkrin8LQ-D*" hrBh  im DRI-t,nZ"SQ d+kHElegC%?ߥpAnjinclude D6 D=symbol=valuiW=-W,IP SfinЛqa;nki RmGlhQ =demr,da4 ll,TF  R ZbPi b;s IF-ELSE-ENDBlock0dӲym !I2Rnatrݺ_-Po麤dx#LI=pathH fadC( ie^suM@]Tnu`#YEinzignahmeƅRyl9Zi :oWarn whdursaZha+Bei !䤪 uPD!Au mMnrx\Mwi rhq큮 SBeibjkelypb ,Ei . w{Ҙ ¯sftkhx =Ż mInkt (.)/nradX  qAnszbbAch at Le%+ ǚ[abut[Off TSegments oder Moduls fr die assemblierte Quell- textzeiln. AlAdreangaben sind relativ zum Seg bzw.4anf). hlt dausm erzeugt!Maschinenc) aqFolge hexadezimalZahleAProgramm: wird di ufgespalin BefehlskuKArgu (sofer{nvoll). Bei Rqrenzf absoluI1 ,nnbetreffenqZ s:expansi)hervortRnhBtorigininkaYrh Komare.X n,cnur , , sos -si dlleblei DzweiT1 Listing-Dat SymboltSie,qpBtiord, Inform1ozul p1w"LsIn [,C#NamfiqKdeaTsDq6 Im nchK, ValutIDInitial9t#.\;ݲb1ehKieseSgeScope, ob3| ބ, global lokI. DyRelocc baiyl gibt Auskunfarberz 3c 3yʺ FermޡenPu!At! -Ch#ilfni Kyg2u ilt:ando-DAwf FatB}XJF]0er aEilH 1 Pa yr f¡JV***valid rocIor id_e) z -IDrgltig.R mu*B!zwު07 g@opAO3Rn1tMisqg chactrNaq e.a +-DӖ2SpcrzsdirɌn t!r ntel߭,YByte-Gzt\ gdihVtꊄ4EVEN-Dh CtangѭԏkaIr Ursa{j"erciluҕ)32-Bit-W{a܍n Stk2eDŽviDisplaceuf rbdirzKP [^q Wort viscy zero+usszdrucks td Null2upIg)żlګmqF$m s(s)hAt$nt DRI-JmkLJԲ2Iknn Be8yrnkΙ0 arb¡et L b255,I [spielsy!Func1d2¤iI5B idmgJBbsneu diܙrs. W.)j- ݭ3Schwigkamge Erro:x it]ERROR܈ kP h 5xpobe r!S w,ܽrelozba)wqdia“taހ看g-ޘ paѼ I܉x`scale1,2,4 )8Ska)fakt1, 2, 48inizwoqq GrpezXijZӧnLeLat1l( vQdBtrol charac؝inplƫĈbzITĒiSCII-{kl32kˁubd[cZELSE-,ENDIFC o٩:h"eIFcc &digit[àn ( Ql1Yzdecktq1؈ Binrٔͪ0$1iK&͔ ݐ zulDznA񲟬yM +z ̈́2.&%macroLOCALIMEXITMMakrq۫8 T1s t9+ rLOrRe oٜYw  dr1!xiR512umfL #;Mjs opc˕$#ΪvoF^q yibiLdd ý9lPme2a 6'if'u_exbڴOP 3;wiQm En-s Que"xte긊t@mH MACRO@@ "wÓ 6801܉nly(2(3+y *** Opcode for 68040 onl(851(8.Der betreffenBefehl ist im gewhlten ,ssatz nicht vorhaIn. WSie y angegeben0 , wentrotzdem verwn woll;er size not allowedas Damatfr Lzugelass Privilqd instructionpmiert. Um ihn zu kn , mW0  akt!er( RYe address out of rYVerzweigungbAeinyanAds mehr m Byr Wort darste lt oca* errorTypsAusd ksn2sZusammenqgStrilitl exceedal ERkon1XCalsZe.!KarlaubHSyntaxlrargut(s)A}emtjrrekhaS2 rer`inpAZAImbq kan` ? [ \ ] ^ _ ` { | } ~ @.un tbV Lee$20iTab09 ).Kon9llzCarriage-ReturnD )L-F;ASY)aximI512lrs.AtrڈStorI0;ied3 Gew uiA.b "KlrGrhBףac a[ gejbՑtze޼ع|so._Т dlb vۡYrei!ausge:U g7 + !! h QI << >>>| ==>=nYrig7JE ꭣF:SreP .d)drf983ٮ_)+m,䋾yQ٨ zuϊ ($ (@)offP 0$dag[unkt (.:@ YnS@ oZ:ntypt Regqm NnWL۹ls bzwSymbol;ts sign+nzZwisGro-Kynh dX n- Pv`*zMoola-Fy *2 N9t"UmA"S Anrp,"Su)vixRx#aaltIm > ֱřr b Adregj"atus (dyugrQê!ckpoin JF:komma- nuܡMC68881/2%KFPU-.+X %!v /X/Cx2WPMM(i dh ,.h. Vbrzieّ]VecJBas.2lso eVBR|vAyitx˞tczuls.LokalsPJ8 ,Ձ싶^m Gltigs-ф)utz` , um ܓ: NsJhufikeestru1Askl.s|gib*,qt7 5n؊eɒzR nh )IzWnunabnitSeifN,k ҆i :H..R!1: .loop:dd.wd0,(a0)+ b)Kr( rjH2Htst.l-Z`;m(߁a)K h,9߉fBzûm*Kg inīModul,ʕ*fiQrYuZ. Fq1eїF;, |!amQuitext{ p 0 k^= 0ZϹSAugInYia23  musimportӭexdnA| :zigͪik[+@ {!i.mZu!ssd_=, EQUSET oderREG definiert werden. Labels knnen r auch in LeerzeilAvor Befehjund egDirektivverQba Folde Syntax gilt: l:[...]So gemssstetitem Doppelpunktge- schloVor drfech TabulatorhDOwird Zaktuelle WRdes Positionzrs zugewiesErneuZuweisung{s aist fr dB&nt mehrlaubt.Gren-Spezifika:en -CDie Datenform@SMC68xxx-Famili1 fmn Namz(  Typk !BitsA .b4.BByt 8*IwMWWo16ElELLongw 32EsESSingYPrecisAnary Real@ 5.DDoub@64ExEXExtd09pEPPackQDYm?Numeri߁e KonstantLFqbinrer, oktaldamuhexa`Schձbe)gegeb siI32-Y.i3 ZaCbegi״Prozent(%), getYnJn Ziffern 031יassٺ=rn Klamqa (@) na bis 7V \zjiohArgeri. H Z dur)lla7($10x 0Xgelei̹.eȂtlsetzt sianus 9ZBa#f bzw. AFαsBZur rsQkearf rhalb{h URstrI (_)nu,ispiy1_000{ Mill.Sngk`S [팾 ASCII-,jqfaj;dAAnfhrs. Um i ifzunehmmuspah p 7Steu, also PC klRy, ӿ Is{=)rDC-*L-{Z-rEiodje(ݺAusna)Ber) Úbjugt. Il㚸FS max vQlשYiI$kp &R%3linkNullt.DsJAufޛ9mbis- ̵*k (*9noiۑ:indruckߚߙ , repr1tQyAdr*Ќsْs JnwrtStmj i9)9Ktarezw"d, empfisȂch,` ̥CՉiea[o Ikor! Q8Pnnn-Mikropêssorf4AѳDVQDz41 akzepS,aedMoola Us2anubb0 aTN Tgdp}Echiedl<E ModuhDdn r y 2Y00(,)0( + 1 tincr3!;r d,Vo9^0: Dilac0x'=Ix [ ],x /j-ede qj a pcp\rog Co[΁lv`>` >].`z`  Hp ]PC addr؀Absolut #dataHI diaƐCQAis:BݬTJnd-`Z26E0)3!" 100;2Ө (,a295,Ȳ 5,a3,d2.w*1var,pcc(pc.l)!,c$1fff01 !T0,$08j Base-RεdrcU7*4)0 [-44,],d34,d74 esp]u9s dx+rx-[Ql],InnDD$z ,@ b ` Z?d1) ($4#Izm8.r(td 8EPi) s,x1xnEntweҢo:C .Af`.na kaopalGr-spezifika"ZSkaw c.w ( .W " Wo .l"L'Longws. kCT B*]ʀ*:P- dur \Multiplsopera*" z4 aufAusdruc 1, 2, 48i$vor1ge!llte` 1!P|)EZero.D 2,vAddi( dX s whrABchneff1ivX .zsem Falldastatsch*la imbi.Ђ{V,k!ibtzu InhaltԀ pH+ ercpCv+g!`nega` (ZAerrl) !!i\p (9` HDBiZ glBso,ie( 0 JRcɾdƺQR, sZ- Io,abhgM .͡ErQniIrhl=,ܻ >`xX L`=, ==Pr;auf GCt!=,<>,#@Ung0>=5, obgJrDTm Û8$b<&kl˂)< 0-DFlieɉma-ǕS,ڡ zjo߃forxspezifizܳ{ agee kb9m+m.-AilR {DPunkgetّ" N hcsRm E bzw. KgelExptialrfAen:b;digܡ[.][E|e[+|-]Fu5e }Vorze10 ڶ2i ,*)L(/)Je*nrl p*oftwrFカ d pY{ ZryaK Zield $~s%ufneh, wirdberlش|UKBAzeug)B$ѴNAN ( 3rdabIehlermeldӴs}!KYɃ(NPu)AmblQ mehry M[k,  zu{Arisk d5'reriZenanf|kLee$Tabul+zߊAdarf3 s-, Plus-MinusE T3un)u4`57 068 7s9BﱭMMU12881[cP}.b{qge; areúuzls RBkbz.B.lDMA- ))IsDaall,2[RootZDRP 8K-ߌe,}ШPaYeyenknn>nKfAha1. Immedia- a( sz2.Dn_en31 4.kp 030l~4y] maxiq s I, G85s,  ych( rb8-̲brd.PFLUSHPLOADPTEST٨ @Ms{nfd")sab*1m)ft oIst.ph}eX'ѐy ЃP '<ƿm vAƒum|KNuI:Non-Avek-s hol).CAARCa2>@(]XNSʲ32 bitin 2 bisazIax3B"Clearry" kz(en)s;CACRAA+ jzuknftQ V鰸sy$YChatufbau<314321098{ʼnautomat Auftre"n  n Abasung ServicoutJetau*ݪQues:Hmsp,-McMakx-`XM`.sowohl( ,au8&B0r,Gi ZPC!Zero Prograܩou iϲ QsmodusJ9cchpcFPnFliema-#881KiFPU knJiRznAfp0fp7bzw.azFP7 JeR80bĕ prinzipiel E!ndedZBereǢebenfys~iN Mn SӚb`FMOVE)yKUmwandl޺3BYTE, WORD, LONGSINGLEozDOUBLE 6-SLkaʂenNz8 J enthiPU*iÁzustzl:LfpcrjFPCRXKllzOfps~Sx VfpiaFPIAR a!X 0b߱eM(Shqasx"32  2hat :q)bauݰMExcep+RNM뉸^ |0!< > +H+ BUnu͢(L0)xC3115 7 0ue Wor; h malS0inQ, um frknftzVRY;ZQbёzu s.8JM1iIyIS9jedrmgՃn {szel 1) ausn (0).dsߣNr 143U2109}8+ +-+(7BSUNSNAOPERRVFLUNDZINEX21p B P|Branch4Set On  Unored5Signal1 NaN (Not aYmI)@Oped Errorא %oflow@u DiviǑby3+Inexactsult#+DecimalQpu%-+ N 6 fѣ,B2ErgebnikZ_o Պ!\`6h 6 4 3 (=PREC:RND߶0+ RdP)i:W 00h 0 To Neat1Angj 1waDoub 10-1"erved 11 Toward +FPSR - Fliekomma-Statusregister MC68881 -C Das 32 Bit breund hat folgenden Aufbau: PCondition CodeCRQuotientSExceplYTAccrua| )< >. +p / |x=C031 23 15 7 0@ .(UP Byte desOPs hltags, welche bestimm Zust{Ergebnis einer operaanzeigt. Esprichtmy#CCRr CPU. iesr fr dieQBedingunLb{t Be fehle abgefraQb9  282624+  unbenutztNZIaN: Negve`+ Zero+ (Inf)-ot a Number or UnoYredBheitda` k pсefiniert .PArgumQunko"1 OaYat1O.IEEE Non-Ae Ts:hJAlq (bauf EQNE) lsBSUNQVauYwenn#imSgMnemonic:eut:i 8 ++XYEqualZEh| ~GTGreaRThan(vvY)|( IEH9|k/MEH ()H ^yLh LessRH"Lh  3LE XGD+H )(*>GLhno/l(: ,hQEP, kۈkeLB-BKgar kbn Um$n.ݰOߠ O߀ݰU h ݰ Oߠ H ݰU HH ݰOLh߀ݰUGh ta hLEHݘ ~NAlGTH Oߠ ݐ |@ 8 OR `UN MiscellaneousݸQSF, STSܳ$ F alse@0 T True(1*SignalSTX רcSNEbQuotir0N Xwird nachYɟModulo-( _FMODDkFREMYA ZidabeirechneRDivis.32p 16+Pak T6Vorzeichenp %7igst saifikadisPdJMim  8@ ;angegtlAsnahmebed9 Bl1[щ` t. 9ezelb erRdan5 !spKMEnabl5KL Kontroll  di!sr@ 1543U1109}8+ +-+(0 |k躿iPERRVFLƂNDZINEX21 B/|  ranch .Set On  W5( aQ(za Num)܈OError %FPU overflowu Jby Zeroؐ+Inexact ResultX#+DecimInpu%-+AccAd(8R8Qse6R֪ bzw.9:X x676 08 + @+QOPKPunbenuΚ{@F| UInvId OŦ++8!+`J\m* ž $ur j p  glz tigen.0Ny-ETHm `NQPSRbDh dCĔ/jr?-B/(),R!glErgebnis enfehl:~FPIAR - BesadreMC688810@- Das Fliekomma-Befehlsadreregister sozusagen dY.PC (Programm Coun) FPU. DGrund fdVorhandensein dieses Rs, 1 unabgngig voCA |e ausfhrkann. TritQnun Exceptiauf, knY man oh nicht festllen, welcher S[kaktul Aht.DKontrolGPMMU -CrXcrp CRPRoot Poin|( MC68851,030 )YsSSupervisorZdDDMAxxAatc TCranslaCl.hpsrPSRI Status hjpcPCCaSkcalALurQt Access LevellvVValida maNAM-p Rntt0TT0pak 0711$1 CybadBAD0v1v1v2v2v3v3reakpiknowledge D n646455v6v6v7v7EzbacC0vC1vC2vCCC5vC6vCD QuAerweis: PMOVE, -Spezifiken:-H@HJDe[h  wird zusARbetzung ;qfallsc s9 im Usermodbefi odǹ@1geschaltQ.S;Ơ8tx   ϰJr mitQeARE)agsP](aTC ):P JDK!N1HN? Bus geram ⨒Bt({)Yt. K XYi﫯qD) hab9folgn Aufbau:R 6162+48 474a440v34 332 31a++g+ +p` |L/U| Li | rY|*SG*p TҿA|used |0M x R]cf5^ieldb0Shd Globalyx+_DariptType + `TabAdQssp,+SGnIimplem*.܈LVer @sty2P"X\xm, um"q naLkl󩬾zu 1figuґ!)iipiweisB e,GreMuduDϙriptors.TTn \00 bzw.1 N prfei!sL1zuoblogesar0r physicaal!"t"kq. c""; stfiĺ,a TsH]ns9pezifiziB wu positiv JfeI FbYVae|wBt2alaz.Bmax.( fr TT0 ֣TT1)2Yns1ro Spr9jer Bl*I q notigj.v2:d132؀ha31 24 23rA 987 y 4 + +h 8 ABMEusedR/BRW:0FCBM A 8 oL!4 AdC;B -x ] M9,pEnabߊTnqR1/Write  -rFuncSC  /ʰN83.w# `״igeIes) ϓ~˄{;d*nӑgl.n`JM h Bn墳 , in- |)Laltet ( Flag gelscht ).Read/Write (Mask) -C Ist die eines nTransparent lationqgisterssetzt, so werden alle Speicherzugriffe t b:. Anoni!nur Schreib- oder LesewxCx Func C Base /; JDA3 Bits38 ,l durch( d( das jeweiligeb in e spezifiziert, ]m3J(A1Tvergln.Adre&ungmr PMMUNHilfeo (Paged MemoryinmJ Unit) aufmMC68030 X 851 unjidsringfgig.a1dazu loq{ssQ physikal# ' umzur Will z.B Programm chٝ[)lAse9hlADatm) Xznimaϼhnie3r{PLOADdPFLUSHfehle . En Fel2*skKrzelGreEz"g A|+&V1d4F(3蓃 B B9ErrorCI |InhibitWP WriteteM ModeSG Sh)d Globaly )lL24ߢYcalP P VgnjGltigkeCB wirdQt,Qnw1Z-Fr,A1r:ivileg-l̓LQt( vorkaB a ehrYnH eAfalls.*euteڄk hʌ)lielRln*Z-!tatMsagt2ainhalt verQj.oB ۮ )zv tݙIB s notig nd)Jy1demIl]ia` oqol Reg_, Ӂu9telj1tii v0QVɯbis 5FCLTIx-b l ).Hauptsn3 Ihn. 5 CRP >P>H %h sHppoDpkܐJEъω#\ e j _ TypeSwezHi neuIgz A i*T|#glCw48 Byty Wyo " ƲX jenC fgeɸAIT Anzahl as}ld  s sWcr fr XvUt, hngomeKombinYQktu )up,os sem Aܕkl1!3e ab.XK٠QcYibtZu1 4K bzw. 8K g se2諅vZe^e`alsoc!irekt 3F312 11 10 9 8 7 64A 0+ +- y|IUR|AU1|U0|S|CM |M|U|W|PDT| +-+ +-  31 13 12 10 9 8 7 6 5 4 3 A 0 +4K| PAURG1|U0|S|+, Ind.Descriptor Address 0Krzel |Bezeichnung  lhysicalf UR-User Reved G Global0,U1Page Attribute SSupisAProtectY Cache ModaMfifiU WWritex u TypeExceptions bei derebersetzh =rWirds ein ltig gefunden, indir ,Cnt aufen@gt oRjTabellq ex das Limit t2 bzw.teraschreqt, w|Busfehlersgelst.BADn - Breakpoint AcknowledatenregirNur MC68851Js( 0 <= n7 )ennzQVqgrammIfhr It BKPT-Be ff ausnahmebehandlA. Dant2Inhalts zum  korpoaereR-Rs semtt fortan. D.h.+` soll,sinnvo Opca entzbQuނrweis:qzControl BAC@@dC@DieC@ )sphy1!6Yo$ B(15)geRt Mm A9sH tels sus-F;nerItAsQ8sban, d!wievieym Mai /Treff  begonwerz (Vor!u:S15)yX"wtל3Mo9ola CPUsJpLJ vonvek Sa anJBwoeڀ"4s, falebstimmedۉzsEgnis re1- fnab Ŧ kaqjedoQab 0qem0VBR)r dvanfa֡,V[Offeutp+h9S0 -SSPķJt14.PC28 312} 46~Igre52Di) dur!06 CHK-,2/7ATRAPV{@cc|F P 83lPrysIl94%Trace14Lq-A-d4F 4r 5\Cop-rok(i)5TFormatV(_g6Falc9rupt 16-264-9229Spuriousx25-3*100-1Auto-, Lev1 b732-42128-184?b00!15<4>19Branch/SIUnorݺdX881/2N49InexaiO1aӊ 520@.0'1\F rflow  2 :2ڝ284UNs˙˚%2[56PMMUX51,357ӎ W2׽Zugט 59-6"235X2256-105Benutzer sʿ(KZm ` {Numm2 yI auщBERR-Lyʵ erzeug#azu es}vorhKfchiySpeiZ͛)im Sup"l[barjNon-Aut9ka-InruptőrzeugrAtari ST folg :bVk | AdseBut+O+x9|2USY 560DCD!"Car!ict"K6OCTSH lear to ԹdP7W8GDoQyGraphic Proc1iUy" = BlA872Zauden ( TiDSMFP/9/200 Hzɍe&Cf70f8IKBD/MIDI1FDC/ACS2bDisplay gnalB3V9RS-232 Sfǵ'96 puffqle300EmpfsP 64=v7AaqhAnrprogrammb Vag^^31ZMonochrQibDڤ!79 b223*"niʁ "t> 22ە>ܲZrܰ.ErklrbRAbkrHea%Spezifik \IsarEyctive )d~D:&a v na  v x -T nP m*lbޡs|z:.( I1diy lAlJmarkeIc>-'*x0zyorsqfcu4Func%dɷimiz$.*gtzokH , umV Bitf- Oȉa ewidth%Brei.xGren- e", WoLongw6Hfp썏 EdL Lz Fliekomma-Datenregistern fcl Lr von Kontrollx .p Gren-Spezifikati!fr Byte, Word, Longw Single PrecisZReal, DoubH@ Ex)ded ifh oder Pack)D1macc-CondiC. Je nach Befehl ht dieseine 8 Bediung #CPU,QFiPMMU.optimieri -C Bei"igen5MC680x0-ProzessorAkann maurch Verw alyv!gJ 1ra AusfhRsgeschwiQgkeit;rn.C OXgVoraussetzKADD.X #data,eaaQZ` 1 <= 8CA@I SUBapI CMPd0TSTc1n AnC@2MOVE.LDnbQ ` -128X 127AAA.W` -3276 z75cW`c c c eTLRSDM.A@ nichts ea,#0 D6werd zu}9ftiweiY-}auffrhe߲P gds Frs im Mikroc aaahltމs bei neu{Typen,bnYhobi߳FՁ"absoluYAdrgibt skurze Form&AiFe!҉arAllt.Yegt zwiڹ52k, so whPurqmbautomsR2@.< sazN Rrekt mi-d9anz wirdauxreduz FNull-jiAXiabm20/uq eAugerƒutztdas Basis> undrc. <# fuXahs<u) efalY.iz2sbBRABccsBSRimmx um1rwrtreARzhlAr:Ynwus[SpYl lZ ӹRm$Modul.C 1-)` nchstfolgʾ*BH ϫ YSignal NaNJMit9 ݳPU*gQidaer-f:r typmap jen.Sha! GlobalyJDG-BߩbesagT))ilog\aums3a* TaskSy mmsam CeMm+s)sucd zi߹nsyIuszugriffeأmiiۀgۂ~sc. SBz30rMotorula owoԒ-aRKRtat.( DZuqÑӺJrelIvRBQx:&:bkslBR-BD]Z;ioyg.pin,F2mehrt u>hat Kon-Cak9HBSiehrŠCDoppelpRy2!isp2c; $df,$aB; ut y  ; FrQuervs֍a,Sealu߰+P߰* ɧymbolBZ .ܲӖ(eVariaA , heit,estgep pBަeޟbez2n ia޸R3Qf_Coun3Nalthk,5x+D0yOrlaubt= a7s=xu\ H F =&! H` - OUNT0..+ 1`=q@ove.w ,-(sp)K̰Dh L-lzeAn`@xJ,0`` lltH dp" multiple"-BProzorzusamm擬D8 θ Eble (k odabel REG 0 erzeugt. Beispi)SavedRegsA2-A4/D3 .. H; - HBeachten Sie derweiterte Syntax:78movem.Y#,-(sp)b+,i<- kein Druckfehler!Name Define Constant -tierkUer Dai[l:] DC[.size] expression[, ]schreibungDC-DirektivcdYInitialisdesSpeichers mithn Wjn. ergebs ausSLisvon Ausd"2((0)asformaann bdParBr geYllt weri, wobei allH e zugelassnd,cauyfrAmbbeK gltig. Wirdnt a;*nommzdasj um WoJhandeltAls rf$BStr9Zn5s unabhngigvom.aBytyabgeݐs%t. Isa , so-fNuYnfgefa, bi+osaz ZsQzde` ed3sgerzet `dc.b "Ho!"/ $48656CF21l 0-1,0,1 F0x 1.0380 QuervλsASCII,LZDCBDS8Block C(-B 1L2pCB i( tӶbZdurchHݪundzifizi{ GreKџ.gibHaqVorP yH-Fc.ޑAnzahl Einha nrp bhtD#5omeQ\2)xb2,-2FEb.w3,434b 3,"ABC"14243 (DCGarNJ-ChctR-mpLuk s[,ĹmlnMPATA-[TEXT-Segʼnx eBmark5sText:ld!"x"Anot", " "׈HLengthƣidLbjuo0L%, hnlw, imaktue+Q. ZustzrrIRjeJyWPPascal-%)x&LpT C.B 12 %pH'"Zero-B-`(Z`%M}kma׮9m C-Av1їt,tLÊ @zyAns*bqũtHZ8!_(N4n,-Storai- AxS S@ tXim(ڤis-;$s,o}x ڳԑ+ns chnQH s. F C x s$ 2564s 0 5hd`/`1024`s`1p`3072xcCOMMOrig9-   setzORGP!H nx u hWSDuYsolu9Q4rf~aSt$zukwerd̂ʶCީwu@;P{ӈ*=x*=/i @+(8@Zwis srisk (*)ZGlђ2h=qRDҸ YlTKomjarhalbw8H/* amtfisp!P HAligyuAr ALIGN [x erhh%soiCx xtbÊsvpH*g:r {s *,vos12n[X braprgSt "CopyA1991 by & beřnΤOffEVENTo EvRddf1radA;es1s- *-s WirkvQx  l2Vnd mpfqlmqna r ܫkZҨˊE:M3jVorޱt! [PjɤieBX Qdɥ2sSelect;ځwҜsPTEXT "n"H t_ ┘iRAufnahProgrammcoM+s des optionalen Ausdrucks express9 kann ein!vvier Subsegmentmit1n Nummern 0 bis3 gewhlt wer. Statt+r auchJName fr s angegebIs*deevno$(, so wird das 0genoQBeim Link alle zumzi Textzusagefat) QuerverweisBSS,DATA Data S}-"wahlk)ensSyntax y []"nY"Beschreibung ierektive2 s sdiAufnahb jeglichrtMittel'2- ,TEXTBlockQorage 1-S [  "!lieJSR r"nt initialistSpe3. P"P%P&P P``B``*dXOffseCbsolu" xOFFSET P8 aX In-~mmaCodrzeug*Mdarf nur Labdf9eriundpzu2)treff{osind`e)geeignet,z StrukturHele%ockfrs2. Der PaRtgibTartoaFer, beginnnbeill.tispiel# -(# FolZ prֲ0JC-Xsct aX{X4:*nA;charИ [20]}PP+0B:ds.1b 20EVEN@Z@...HmoveS(a0),alea31׀LocalammY-7 с ߴ(LCOMM l*, rtۡdؙ( By . xu graױJi, bu)r,$1000 ; 4 K:oRlnHK[GlobSymboltؐGLOBL[, &dbzw.8igheiwe` s԰kbed0Modul wocܩ` c8xportJ,YnfJF8T ,0{: 1~|8!h'pfi2hUܸEXPORTIMXDEFXR ExtzRefczfB[0KmamereM0eJ,sbar daٲzp D鋺ʝ ١a‘ell^utz{ yourM#͞Gh#pX - fur#D4J\P cknn5s gltigb my*:=ްVariabܪ[ELSE#2>]ENDIFX lyǸ s޼ K0erfl¢soDn+0 aA *f "j ڑha,h  !Kon9uɁQn ̤b oRC9gRlon.ol1Ta) 1 mglDPg :p V-.FX != 0`X =`B argu3HN (1h1.?f`2h2` EQ8 @!NE`L`<`T`hG>G>h1HP rҥla3GrٛKompatibilit2plkr, daureւ One-Pԩ-Hֻd.׷˺4m DR.e,mehs 8!ua,IoIsKzunieh -uNB 5ZusamhMakrosnbRYe ,prfobr leSegebAval ɵ3PRINT "%" XMACRO whY p~Ӗ ERROR "mi ˉw"hXITMEP#Mr+Ein r A*naºHbH[P4nt list>] ENDIF Beschreibung:Die ELSE-Direktive wird im Zusammenhamit der0bedingten Assemblier"benutzt. Sleitet einenBlock zur alternausfh9, falls die IFcc nich!rfllt .VerwendP beiK- optional.ispielnIF expresspPRINT " != 0"&=Quervis;b,CName nd9-Construc -)-Kkt+ Syntaxz yourLzXlea.7,a0( QuerverwKEX2,GLOBLXDEFXRName ESDefinition --zr-pFSyntax X+ 0+s, sodieseachRp @c6 knnen.;,6somit gltig myHu: #Begnew%Neu neMODULE `MitkannQ@N j@ usds stehswird a fr ercerzeugr Zeil XIrhalbx sin ڪnbI lokal. E Segmentwechsist inj mglgljzeAge VbvoUn und `m LinkAnutatsch:*u)0-zum fIn Programm geyd`TEXTpEexampr`oveq:#0,d0];qf$r=da;=x!͐%bn (; -(Šfol|-Sols֭s1,cСlizqֵ(anotherEntryPoint !x? H:%ENDp(ޑӟBen Ġ4 duryingeitetk.voro W,BazubabgehqlosslpGeיatrrqMessagFehlermel^RROR "m,"Ȁ  em. ZustzText tgeyؐIF value < 0x"hIFPRINTPa9rbetZAMakro-C l.r ݫtGktsz(=) Dڡar7$)Kl ff"@)"zwZm Z=offnd5 (()C:αnbzrie ))3AusdruckRLong-Wbetr9rnNItr߉ umgewZlWar H y!ltWnzim!,a0 H!d-n OktV( MACRO qt3 pvҘ " ; $(3*9)gibt "$1b" PT3)h /substitus SRLYinor!,C' Q stutrotz[S ert93ntspref$ zy-ϋ1ra!QllkimnniAdd+h&)! ncs gi둏teuS «ybr+tQ:8 PushRsNumb R&,-(sp 2Er݅Xqub*v!ewo,eym;c 1ursmiebRTqcrufeXJEds2y n7r һ ǡլÞprnG< ckf!aeIR STA t Zoaiebe-Rotb_ASL Ynach link"ASRh$reicLLSR,ROTe-R&.H.ROXDH JEinbeziehzX-Flag3/1RP(ProgrammstrukturҠaBccBedingtZgBKPBrea ( BRmCBNzu UZp%T(CALLSprqModul!nur( CHK gegaobba2`K0 D٭,)krMd v2DBF$DU ILLEGAYUnzuls˹iOpcod JfS'ss J #NOK:+REӕS+Perip!ir0RTRqkehus ufruqStacX 1RTEExcep2RTM"4RTS3RTR7er#ymbyt;6S\!AnhngigkYsD7STeLadetRftoppEfhr?TRAGe| Dnnh + y6,2{s ~| 18,2uppArithmetADJre]i,Dn Dn,t+Sourceø#Dest9.X ,Rd, LoԄoE #j +%- M+d8 h )i4/c2/20 4/226/24,4IA 8 &B8/14;E+@-0/1d@ 2/4G,Rx) E0Cy$xxC# 2,6PCPC # YB7H@+Xd[| x ]*/263n| 20/28,6jHinweiseݒDD.x۬AnTautomaA bqˉL#,Bebbert ImmediaDnfn DestinaKOen.Ir W9ebEJka 1$  Byte, Word, LongeinflussyFlagsJ#CCR ( Con-Code Regist)ރ XNZVCC+ *׸+| An &߯4/8,2tI2/204/22$+)ؐ ؘب!B4,4T21X I6X9...,etqmimit Langwortv JR XEx1d٠_X Dy,Dx (Ay),x)ظZSourceـؐ zusatdemUed 60*,~  Dieses[gel1ƏErgebnIYlҳ 0 I, ansonsibt e2v=t. Es empftskahZ-vorrzenma0 prf1will.@}ڸ +-X-ه/20SAND9Logs UND]y,Dn߸ Dn H@h -P 0 !0X  %8Hp (6 ( 94|D+@@ 102Cd@ 2/18D0$ p x o͖!PCPC'(.+(HxHPޑێ8I8 (   to bz~SR KantP]I (֐(@PP#$h` P @ 0:# 6S8!31/8(%P 0022/34( 4/36,!01q%$#yxiހ6g`.({r Yna9gezs݄dB9eounh9an (knnnurjI)5ϛ!r)ސ:ިc: 4:HS-SjSBStatusCS >B iX"S`GAY YivilY, d.h.3Prozor mud SupimbbefiAum ihn korrektsf( xBְ ASL驊 ie nalinks LOF Dx,DyHVLLL (Beid'Yߡbisfan Opcvlig n)boaѤ9agebene Anzav9Jxvo. In3"f"-zZ Nun ie+qin Sperinha kan)RYje)ls 1)C "jSizebnkt. BmBBfr egts1#8X (Bzwe)dasZ DnrMh* *![3`W2spreҒl"q5+ FalI20Zt.fj16 f;wJdtSensr)dw:ZVorzcchs ttf +wCYhRbdem Unterschied, das Flag unberhrt bleibt, falls die Anzahl der Bit 0 ist. Erlaubte Adressierungsarten,AVerarbeitBzd2Befehlslnge:Quelle |Ziel+- +  | Dn| (An)+-d ,Rx$xyp5| 6+2n/8,23[ # >1X1246,48 h & h( 20,6Hinweis: n , umKvsoben werdsoll{Gruppe:qCbe-{RotbceurTASRjL - Arithmetie Vb nach rechts= Assem!r Syntax: Dx,Dy#jBerAqDopwirdaQgnvonC0 . Das Vorni 8. Ein Sprinhalt kann nur jeaa1 ()KgeP Rauf Size Wo bnkmgl BerZ fr l liegt31 bis 8Byte,S, Loa(rCwennZ eDa!reg)er).\IflussBѲs imQ#CCRConditiCode R ); XNZVCc+ *E0*<= &MndЫQ| |` WentspeletzYsE . Fɸ0c gel Q+wC behQe mhmASLkL$Bcc!BedingtړzqgðHøBӉcc ,Ψ TeLiny*t (Nq al)6 w** 19vorNull war,sons0p\`@0ǐ0><H+&<ں82 h 4,8 )Zzi: Taktzykl ʾAus* Or `BCL+BSE BTST:0j:0^LR((` (<4(2(FP fadH -0]z{offs:width}@IvF OhnenspezifiksPsE0P"P*9uBFFBF=X 8 P 8|b8 St` (D)*+EXTSExtrahKsigned(,Dn UU;BFFFOBFINSU un'hU>WySuL MC68020 -C Assembler Syntax: BFFFO {offs:width},DnBeschreibung: Sucht das hchste gesetzBit in einemField.Gre: Ohne nspezifikatio9fluss d Flags im #CCR ( Condirde Regir ): X | NZVCC+ -E0<= &Mgliche Vernenupp-Befehle+QuerverweisBFEXTS,UBFINSFge Daten5BfJPeDn,8PBewegIie unysrssrs mzier AdreY SETPrfe`und e aauf 1{!S alleh sBFCHG[LRBFTST&e!ExtrahRP x qusfh"ߞAcknowled1Bus ZykA&Programmstrukturp ILLEGALBRAz)immerTx]ITAS- os2M nrbtgnedaTia onis*m Meh2zaorsymh(sE #ϰ TYsfe(do9 MC68020 -C Assembler Syntax: CAS2 Dc1:Dc2,Duu2,(Rn1):2)RBeschreibung: Es wird ein Vergleich auf die hs-DatenregistY und mit den dur2R bzw.2 indirekt spezifizierte Operanausgefhrt. Im Falle r Ghewer oim SpbIWnR gelaH Ung8c1iesex 0 Dr Befehl l9a$>TAS- olCjBeSntbrean*igne}da,voragezu#onisation em Mehrprozessorsym.Gre)Word, LongDQfluss9Flags#CCR ( Cod ): X | NZVC+ -E <= &MglJ"yrenQuerweis:tuppejTsfeCHKPrfe geA obere Grenze],DnD #s7%darzsu ob iinnerhalb zQn liegWen#< 0 gr als Int v1 WeJ{Excep* bdktor Numm64lst ս )Xs*?X! |+ 1 fs Dn2,> , onsJ?Erlaub֑Adr!isa*,AarbڡBzߓ1\sl:m Ziel ! Z)AenteAnzaYTaktzykl1fr Kuszs ,ՑKEINE |. EG bentigt noر)mal` H 30 | 10,2 (An)w4v+p -q6rdp 8,4t,Rx)r20r$x sS2,6RPCPC # 4ِ ProgrammstruktuPא2؊2؀d׳Rװר, װ ר!>Y 8effQivQen*4~ledi۳DQspDgytzAAntӨӲ<Ӱ ӬӐ Bp:u;ylowin2c1 test:` ; ckAboڑs renf value̩ okotwitrap.W, 8 4RTSx9DC.wRީ0ʠ BytY(}?M?((X5ZCMPLRLsJE撡]"8rn 0qNull )g؎0j0$Ns+ | +| d ǣ| ŞE4/2/ 4/6/2y#/26X 8 20/28Z ArithmetiMOVE1oe¤@f1s` vFˤu-mC srahB.sultat  jed gKie, h dt Dz1Z E0h L ,H 8N 8/ O+H8 0/1 2/:N.0J  Zyԡh  @ ;+Hin2eO9tomac zuyAR#...,@I@(Ax)+,yQ0Mp0 bzw. BTSTI 3,o,0  mit|a9@RAA8 EV Diy:)cn-; 1n2Q1neAJEris֘ so ְ 7A+6H R@ -׈ 4648468ި2ް IްKo1an $_I #,RnBe9reibI!Es wirdWert es Z- oJ`deqdie b9effektive Te spezifizi"siaufohiunAsucht. DeurchO bestimmrrYageb wurde. DobwRliegtnpaIOp)ngrBisp:g9; allow instrucse)t: ; cks D0 for bos returns TRUE if value is okhothiFALSE.WT, 6SCC 4RTSx DC.wR 100: Byte, Word, Long,0m?*0!|` 1, wenn Rnserhalbs6, ansoY0. ׸ fKri PMDBccyPrfdingq,krementiAigeX\DBycc Dn,