⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 anf.txt

📁 OXCC is a multipass, interpreting C compiler with several language extensions. It generates an Archi
💻 TXT
字号:
ANF.TXT -- preliminary 15 May 1995 by Norman D. Culver

    Architecture Neutral Format (ANF) code is generated by `oxcc' and
    placed in files with a .anf suffix. The purpose of ANF code is to
    allow multiple back ends to be written by users. A sample back end
    is `oxccb' which converts .anf to .byt for interpretation by the
    sample interpreter `bterp'.

    The .anf format is given precisely in the files `oxanf.h' and `oxccb.c'.
    Files are always generated in little endian format.

    Each ANF instruction is 8 bytes of required info plus an optional
    number of additional bytes depending upon whether the opcode uses
    0,1,2 or 3 address format.

	The programmer can view .anf code in human readable format by using
	the -Gd option in `oxcc' which will produce a readable file with
	a .dbg suffix.

    Byte     Meaning                      Format
    0        opcode                       cccccccc       0-255
    1        non zero if D address used   tttsssss       0-7|0-31
    2        non zero if L address used   tttsssss       0-7|0-31
    3        non zero if R address used   tttsssss       0-7|0-31
    4        unsigned size of anf instruction
    5-7      always zero in file, used for linking by backends
	8-n      optional address elements D,L,R (no holes)

    Where:
       c is the opcode
       t is the type of the address element
       s is the size of the address element

    Address element types:
       0 == OPIMMED1   immediate signed value(s)
       1 == OPIMMED2   immediate unsigned value(s)
       2 == OPIMMED3   immediate floating value
       3 == OPIMMED4   immediate pointer value
       4 == OPTEMP     temp designator
       5 == OPRET      return designator
       6 == OPAUTO     autovar address
       7 == OPDATA     data address


HEADER
    Each ANF section in a file is preceeded by a header consisting of 24
    bytes in the following format:

    0xa5,0x30,0,0,0,0,0,0		// headerop,OPIMMED2|16,0,0,0,0,0,0
    struct _hdr { /* see oxanf.h */
        unsigned short major;
        unsigned short minor;
        char code_format;
        char target_hardware;
        char target_debugger;
        char target_os;
        char memory_model;
        char obj_format;
        char opt_level;
        char target_assembler;
        char pads[4];
    };

TRAILER
    A file is terminated with a trailer consisting
    of 8 bytes in the following format:
    
    0xc4,0,0,0,0,0,0,0			// endallop,0,0,0,0,0,0,0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -