[gforth] / gforth / vmgen-ex / disasm.c  

gforth: gforth/vmgen-ex/disasm.c


1 : anton 1.1 /* vm disassembler wrapper
2 :    
3 : anton 1.6 Copyright (C) 2001,2002,2003,2007 Free Software Foundation, Inc.
4 : anton 1.1
5 :     This file is part of Gforth.
6 :    
7 :     Gforth is free software; you can redistribute it and/or
8 :     modify it under the terms of the GNU General Public License
9 : anton 1.5 as published by the Free Software Foundation, either version 3
10 : anton 1.1 of the License, or (at your option) any later version.
11 :    
12 :     This program is distributed in the hope that it will be useful,
13 :     but WITHOUT ANY WARRANTY; without even the implied warranty of
14 :     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 :     GNU General Public License for more details.
16 :    
17 :     You should have received a copy of the GNU General Public License
18 : anton 1.5 along with this program; if not, see http://www.gnu.org/licenses/.
19 : anton 1.1 */
20 :    
21 :     #include "mini.h"
22 :    
23 : anton 1.2 #define IP (ip+1)
24 :     #define IPTOS IP[0]
25 :    
26 :     void vm_disassemble(Inst *ip, Inst *endp, Inst vm_prim[])
27 : anton 1.1 {
28 :     while (ip<endp) {
29 :     fprintf(vm_out,"%p: ",ip);
30 :     #include "mini-disasm.i"
31 :     {
32 :     fprintf(vm_out,"unknown instruction %p",ip[0]);
33 :     ip++;
34 :     }
35 :     _endif_:
36 :     fputc('\n',vm_out);
37 :     }
38 :     }

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help