1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: disas.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
35 #include "opcodes.hxx"
36 // find a place for this limit ( also used in
38 #define MAX_LABELS 0x2000L
42 char cLabels
[ MAX_LABELS
]; // Bitvektor fuer Labels
43 UINT32 nOff
; // aktuelle Position
44 UINT32 nPC
; // Position des Opcodes
45 SbiOpcode eOp
; // Opcode
46 UINT32 nOp1
, nOp2
; // Operanden
47 UINT32 nParts
; // 1, 2 oder 3
48 UINT32 nLine
; // aktuelle Zeile
49 BOOL
DisasLine( String
& );
50 BOOL
Fetch(); // naechster Opcode
52 SbiDisas( SbModule
*, const SbiImage
* );
53 void Disas( SvStream
& );
54 void Disas( String
& );
56 void StrOp( String
& );
57 void Str2Op( String
& );
58 void ImmOp( String
& );
60 void LblOp( String
& );
61 void ReturnOp( String
& );
62 void ResumeOp( String
& );
63 void PromptOp( String
& );
64 void CloseOp( String
& );
65 void CharOp( String
& );
66 void VarOp( String
& );
67 void VarDefOp( String
& );
68 void OffOp( String
& );
69 void TypeOp( String
& );
70 void CaseOp( String
& );
71 void StmntOp( String
& );
72 void StrmOp( String
& );