1*3d8817e4Smiod("cs" 0x0 2*3d8817e4Smiod (("size") (1 byte) ("size")) 3*3d8817e4Smiod 4*3d8817e4Smiod (("hd") (1 byte) ("hd")) 5*3d8817e4Smiod (("hs") (1 byte) ("hs")) 6*3d8817e4Smiod (("un") (1 byte) ("un")) 7*3d8817e4Smiod (("us") (1 byte) ("us")) 8*3d8817e4Smiod 9*3d8817e4Smiod (("sc") (1 byte) ("sc")) 10*3d8817e4Smiod (("ss") (1 byte) ("ss")) 11*3d8817e4Smiod (("er") (1 byte) ("er")) 12*3d8817e4Smiod (("ed") (1 byte) ("ed")) 13*3d8817e4Smiod 14*3d8817e4Smiod (("sh") (1 byte) ("sh")) 15*3d8817e4Smiod (("ob") (1 byte) ("ob")) 16*3d8817e4Smiod (("rl") (1 byte) ("rl")) 17*3d8817e4Smiod (("du") (1 byte) ("du")) 18*3d8817e4Smiod 19*3d8817e4Smiod (("dps") (1 byte) ("dps")) 20*3d8817e4Smiod (("dsy") (1 byte) ("dsy")) 21*3d8817e4Smiod (("dty") (1 byte) ("dty")) 22*3d8817e4Smiod (("dln") (1 byte) ("dln")) 23*3d8817e4Smiod 24*3d8817e4Smiod (("dso") (1 byte) ("dso")) 25*3d8817e4Smiod (("dus") (1 byte) ("dus")) 26*3d8817e4Smiod (("dss") (1 byte) ("dss")) 27*3d8817e4Smiod (("dbt") (1 byte) ("dbt")) 28*3d8817e4Smiod 29*3d8817e4Smiod (("dpp") (1 byte) ("dpp")) 30*3d8817e4Smiod (("dfp") (1 byte) ("dfp")) 31*3d8817e4Smiod (("den") (1 byte) ("den")) 32*3d8817e4Smiod (("dds") (1 byte) ("dds")) 33*3d8817e4Smiod 34*3d8817e4Smiod (("dar") (1 byte) ("dar")) 35*3d8817e4Smiod (("dpt") (1 byte) ("dpt")) 36*3d8817e4Smiod (("dul") (1 byte) ("dul")) 37*3d8817e4Smiod (("dse") (1 byte) ("dse")) 38*3d8817e4Smiod 39*3d8817e4Smiod (("dot") (1 byte) ("dot"))) 40*3d8817e4Smiod 41*3d8817e4Smiod 42*3d8817e4Smiod("hd" 0x04 43*3d8817e4Smiod (("module type") (4 bits) ("mt") 44*3d8817e4Smiod (("MTYPE_ABS_LM" "0") 45*3d8817e4Smiod ("MTYPE_REL_LM" "1") 46*3d8817e4Smiod ("MTYPE_OMS_OR_LMS" "2") 47*3d8817e4Smiod ("MTYPE_UNSPEC" "0xf"))) 48*3d8817e4Smiod (("spare")(4 bits) ("spare1")) 49*3d8817e4Smiod (("creation date")( chars 12 bytes)( "cd")) 50*3d8817e4Smiod (("number of units") (2 bytes) ("nu")) 51*3d8817e4Smiod (("code") (1 byte) ("code")) 52*3d8817e4Smiod (("version") (chars 4 bytes) ("ver")) 53*3d8817e4Smiod (("address update") (1 byte) ("au")) 54*3d8817e4Smiod (("segment identifier") (1 bit) ("si")) 55*3d8817e4Smiod (("address field length") (4 bits) ("afl")) 56*3d8817e4Smiod (("spare")(3 bits) ("spare2")) 57*3d8817e4Smiod (("space size within segment") (1 byte) ("spcsz")) 58*3d8817e4Smiod (("segment size") (1 byte) ("segsz")) 59*3d8817e4Smiod (("segment shift") (1 byte) ("segsh")) 60*3d8817e4Smiod (("entry point") (1 byte) ("ep")) 61*3d8817e4Smiod (cond "ptr->ep" 62*3d8817e4Smiod (cond "ptr->mt != MTYPE_ABS_LM" 63*3d8817e4Smiod (("unit appearance number") (2 bytes) ("uan")) 64*3d8817e4Smiod (("section appearance number") (2 bytes) ("sa"))) 65*3d8817e4Smiod (cond "segmented_p" 66*3d8817e4Smiod (("segment address") (segsize bytes) ("sad"))) 67*3d8817e4Smiod (("address") (addrsize bytes) ("address"))) 68*3d8817e4Smiod (("os name") (chars variable bytes) ("os")) 69*3d8817e4Smiod (("sys name") (chars variable bytes) ("sys")) 70*3d8817e4Smiod (("module name") (chars variable bytes) ("mn")) 71*3d8817e4Smiod (("cpu") (chars variable bytes) ("cpu"))) 72*3d8817e4Smiod 73*3d8817e4Smiod 74*3d8817e4Smiod("hs" 0x05 75*3d8817e4Smiod (("neg number") (2 bytes) ("neg"))) 76*3d8817e4Smiod 77*3d8817e4Smiod 78*3d8817e4Smiod("un" 0x06 79*3d8817e4Smiod (("format") (2 bits) ("format") 80*3d8817e4Smiod (("FORMAT_LM" "0") 81*3d8817e4Smiod ("FORMAT_OM" "1") 82*3d8817e4Smiod ("FORMAT_OMS_OR_LMS" "2"))) 83*3d8817e4Smiod (("spare") (6 bits) ("spare1")) 84*3d8817e4Smiod (("number of sections") (2 bytes) ("nsections")) 85*3d8817e4Smiod (("number of external refs") (2 bytes) ("nextrefs")) 86*3d8817e4Smiod (("number of external defs") (2 bytes) ("nextdefs")) 87*3d8817e4Smiod (("unit name") (chars variable byte) ("name")) 88*3d8817e4Smiod (("tool name") (chars variable byte) ("tool")) 89*3d8817e4Smiod (("creation date") (chars 12 bytes) ("tcd")) 90*3d8817e4Smiod (("linker name") (chars variable byte) ("linker")) 91*3d8817e4Smiod (("creation date") (chars 12 bytes) ("lcd"))) 92*3d8817e4Smiod 93*3d8817e4Smiod 94*3d8817e4Smiod("us" 0x07 95*3d8817e4Smiod (("negotiation number") (2 bytes) ("neg"))) 96*3d8817e4Smiod 97*3d8817e4Smiod 98*3d8817e4Smiod("sc" 0x08 99*3d8817e4Smiod (("format") (2 bits) ("format")) 100*3d8817e4Smiod (("spare") (6 bits) ("spare")) 101*3d8817e4Smiod (("segment address") (segsize bytes) ("segadd")) 102*3d8817e4Smiod (("address") (addrsize bytes) ("addr")) 103*3d8817e4Smiod (("length") (addrsize bytes) ("length")) 104*3d8817e4Smiod (("alignment") (addrsize bytes) ("align")) 105*3d8817e4Smiod (("contents") (4 bits) ("contents") 106*3d8817e4Smiod (("CONTENTS_CODE" "0") 107*3d8817e4Smiod ("CONTENTS_DATA" "1") 108*3d8817e4Smiod ("CONTENTS_STACK" "2") 109*3d8817e4Smiod ("CONTENTS_DUMMY" "3") 110*3d8817e4Smiod ("CONTENTS_SPECIAL" "4") 111*3d8817e4Smiod ("CONTENTS_NONSPEC" "0xf"))) 112*3d8817e4Smiod (("concat") (4 bits) ("concat") 113*3d8817e4Smiod (("CONCAT_SIMPLE" "0") 114*3d8817e4Smiod ("CONCAT_SHAREDC" "1") 115*3d8817e4Smiod ("CONCAT_DUMMY" "2") 116*3d8817e4Smiod ("CONCAT_GROUP" "3") 117*3d8817e4Smiod ("CONCAT_SHARED" "4") 118*3d8817e4Smiod ("CONCAT_PRIVATE" "5") 119*3d8817e4Smiod ("CONCAT_UNSPEC" "0xf"))) 120*3d8817e4Smiod (("read") (2 bits) ("read")) 121*3d8817e4Smiod (("write") (2 bits) ("write")) 122*3d8817e4Smiod (("exec") (2 bits) ("exec")) 123*3d8817e4Smiod (("initialized") (2 bits) ("init")) 124*3d8817e4Smiod (("mode") (2 bits) ("mode")) 125*3d8817e4Smiod (("spare") (6 bits) ("spare1")) 126*3d8817e4Smiod (("name") (chars variable byte) ("name"))) 127*3d8817e4Smiod 128*3d8817e4Smiod 129*3d8817e4Smiod("ss" 0x09 130*3d8817e4Smiod (("neg number") (2 bytes) ("neg"))) 131*3d8817e4Smiod 132*3d8817e4Smiod 133*3d8817e4Smiod("er" 0x0c 134*3d8817e4Smiod (("symbol type") (2 bits) ("type") 135*3d8817e4Smiod (("ER_ENTRY" "0") 136*3d8817e4Smiod ("ER_DATA" "1") 137*3d8817e4Smiod ("ER_NOTDEF" "2") 138*3d8817e4Smiod ("ER_NOTSPEC" "3"))) 139*3d8817e4Smiod (("spare") (6 bits) ("spare")) 140*3d8817e4Smiod (("symbol name") (chars variable byte) ("name"))) 141*3d8817e4Smiod 142*3d8817e4Smiod 143*3d8817e4Smiod("ed" 0x14 144*3d8817e4Smiod (("section appearance number") (2 bytes) ("section")) 145*3d8817e4Smiod (("symbol type") (3 bits) ("type") 146*3d8817e4Smiod (("ED_TYPE_ENTRY" "0") 147*3d8817e4Smiod ("ED_TYPE_DATA" "1") 148*3d8817e4Smiod ("ED_TYPE_CONST" "2") 149*3d8817e4Smiod ("ED_TYPE_NOTSPEC" "7"))) 150*3d8817e4Smiod (("spare") (5 bits) ("spare")) 151*3d8817e4Smiod (cond "ptr->type==ED_TYPE_ENTRY || ptr->type==ED_TYPE_DATA" 152*3d8817e4Smiod (("symbol address") (addrsize bytes) ("address"))) 153*3d8817e4Smiod (cond "ptr->type==ED_TYPE_CONST" 154*3d8817e4Smiod (("constant value") (addrsize bytes) ("constant"))) 155*3d8817e4Smiod (("symbol name") (chars variable byte) ("name"))) 156*3d8817e4Smiod 157*3d8817e4Smiod 158*3d8817e4Smiod("sh" 0x1a 159*3d8817e4Smiod (("unit appearance number") (2 bytes) ("unit")) 160*3d8817e4Smiod (("section appearance number") (2 bytes) ("section"))) 161*3d8817e4Smiod 162*3d8817e4Smiod 163*3d8817e4Smiod("ob" 0x1c 164*3d8817e4Smiod (("starting address flag") (1 bit) ("saf")) 165*3d8817e4Smiod (("compression flag") (1 bit) ("cpf")) 166*3d8817e4Smiod (("spare") (6 bits) ("spare")) 167*3d8817e4Smiod (cond "ptr->saf" 168*3d8817e4Smiod ( ("starting address") (addrsize bytes) ("address"))) 169*3d8817e4Smiod (cond "ptr->cpf" 170*3d8817e4Smiod (("comp reps") (addrsize bytes) ("compreps"))) 171*3d8817e4Smiod (("data") (barray counted byte) ("data"))) 172*3d8817e4Smiod 173*3d8817e4Smiod 174*3d8817e4Smiod("rl" 0x20 175*3d8817e4Smiod (("boundary of relocatable area") (4 bits) ("boundary")) 176*3d8817e4Smiod (("address polarity") (1 bit) ("apol")) 177*3d8817e4Smiod (("segment number") (1 bit) ("segment")) 178*3d8817e4Smiod (("sign of relocation") (1 bit) ("sign")) 179*3d8817e4Smiod (("check range") (1 bit) ("check")) 180*3d8817e4Smiod (("reloc address") (addrsize bytes) ("addr")) 181*3d8817e4Smiod 182*3d8817e4Smiod (("bit loc") (1 byte) ("bitloc")) 183*3d8817e4Smiod (("field length") (1 byte) ("flen")) 184*3d8817e4Smiod (("bcount") (1 byte) ("bcount")) 185*3d8817e4Smiod (("operator") (1 byte) ("op") 186*3d8817e4Smiod (("OP_RELOC_ADDR" "1") 187*3d8817e4Smiod ("OP_SEC_REF" "0") 188*3d8817e4Smiod ("OP_EXT_REF" "2"))) 189*3d8817e4Smiod (cond "ptr->op == OP_EXT_REF" 190*3d8817e4Smiod (("symbol number") (2 bytes) ("symn")) ) 191*3d8817e4Smiod 192*3d8817e4Smiod (cond "ptr->op == OP_SEC_REF" 193*3d8817e4Smiod (("section number") (2 bytes) ("secn")) 194*3d8817e4Smiod (("const opcode") (1 byte) ("copcode_is_3")) 195*3d8817e4Smiod (("addend length") (1 byte) ("alength_is_4")) 196*3d8817e4Smiod (("addend") (4 byte) ("addend")) 197*3d8817e4Smiod (("plus opcode") (1 byte) ("aopcode_is_0x20"))) 198*3d8817e4Smiod 199*3d8817e4Smiod (cond "ptr->op == OP_RELOC_ADDR" 200*3d8817e4Smiod (("dunno") (2 bytes) ("dunno"))) 201*3d8817e4Smiod 202*3d8817e4Smiod (("end") (1 byte) ("end"))) 203*3d8817e4Smiod 204*3d8817e4Smiod 205*3d8817e4Smiod("du" 0x30 206*3d8817e4Smiod (("format") (2 bits) ("format")) 207*3d8817e4Smiod (("optimized") (1 bit) ("optimized")) 208*3d8817e4Smiod (("stackfrmt") (2 bits) ("stackfrmt")) 209*3d8817e4Smiod (("spare") (3 bits) ("spare")) 210*3d8817e4Smiod (("unit number") (2 bytes) ("unit")) 211*3d8817e4Smiod (("sections") (2 bytes) ("sections")) 212*3d8817e4Smiod (repeat "ptr->sections" 213*3d8817e4Smiod (("section appearance number") (2 bytes) ("san")) 214*3d8817e4Smiod (("address") (addrsize bytes) ("address")) 215*3d8817e4Smiod (("section length") (addrsize bytes) ("length"))) 216*3d8817e4Smiod (("tool name") (chars variable byte) ("tool")) 217*3d8817e4Smiod (("creation date") (chars 12 bytes) ("date"))) 218*3d8817e4Smiod 219*3d8817e4Smiod 220*3d8817e4Smiod("dsy" 0x34 221*3d8817e4Smiod (("symbol type") (7 bits) ("type") 222*3d8817e4Smiod (("STYPE_VAR" "0") 223*3d8817e4Smiod ("STYPE_LAB" "1") 224*3d8817e4Smiod ("STYPE_PROC" "2") 225*3d8817e4Smiod ("STYPE_FUNC" "3") 226*3d8817e4Smiod ("STYPE_TYPE" "4") 227*3d8817e4Smiod ("STYPE_CONST" "5") 228*3d8817e4Smiod ("STYPE_ENTRY" "6") 229*3d8817e4Smiod ("STYPE_MEMBER" "7") 230*3d8817e4Smiod ("STYPE_ENUM" "8") 231*3d8817e4Smiod ("STYPE_TAG" "9") 232*3d8817e4Smiod ("STYPE_PACKAGE" "10") 233*3d8817e4Smiod ("STYPE_GENERIC" "11") 234*3d8817e4Smiod ("STYPE_TASK" "12") 235*3d8817e4Smiod ("STYPE_EXCEPTION" "13") 236*3d8817e4Smiod ("STYPE_PARAMETER" "14") 237*3d8817e4Smiod ("STYPE_EQUATE" "15") 238*3d8817e4Smiod ("STYPE_UNSPEC" "0x7f"))) 239*3d8817e4Smiod (("assignment info") (1 bit) ("assign")) 240*3d8817e4Smiod (("symbol id") (2 bytes) ("snumber")) 241*3d8817e4Smiod (("symbol name") (chars variable bytes) ("sname")) 242*3d8817e4Smiod (("nesting level") (2 bytes) ("nesting")) 243*3d8817e4Smiod (cond "ptr->assign" 244*3d8817e4Smiod (("assignment type") (1 byte) ("ainfo") 245*3d8817e4Smiod (("AINFO_REG" "1") 246*3d8817e4Smiod ("AINFO_STATIC_EXT_DEF" "2") 247*3d8817e4Smiod ("AINFO_STATIC_EXT_REF" "3") 248*3d8817e4Smiod ("AINFO_STATIC_INT" "4") 249*3d8817e4Smiod ("AINFO_STATIC_COM" "5") 250*3d8817e4Smiod ("AINFO_AUTO" "6") 251*3d8817e4Smiod ("AINFO_CONST" "7") 252*3d8817e4Smiod ("AINFO_UNSPEC" "0xff"))) 253*3d8817e4Smiod (("data length") (addrsize bytes) ("dlength")) 254*3d8817e4Smiod (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF 255*3d8817e4Smiod || ptr->ainfo == AINFO_STATIC_INT 256*3d8817e4Smiod || ptr->ainfo == AINFO_STATIC_COM" 257*3d8817e4Smiod (("section number") (2 bytes) ("section"))) 258*3d8817e4Smiod (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF 259*3d8817e4Smiod || ptr->ainfo == AINFO_STATIC_INT 260*3d8817e4Smiod || ptr->ainfo == AINFO_STATIC_COM 261*3d8817e4Smiod || ptr->ainfo == AINFO_AUTO" 262*3d8817e4Smiod (("address") (addrsize bytes) ("address"))) 263*3d8817e4Smiod (cond "ptr->ainfo == AINFO_REG" 264*3d8817e4Smiod (("register name") (chars variable bytes) ("reg"))) 265*3d8817e4Smiod (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF 266*3d8817e4Smiod || ptr->ainfo == AINFO_STATIC_EXT_REF" 267*3d8817e4Smiod (("external name") (chars variable bytes) ("ename"))) 268*3d8817e4Smiod (cond "ptr->ainfo == AINFO_CONST" 269*3d8817e4Smiod (("constant") (chars variable bytes) ("constant")))) 270*3d8817e4Smiod (cond "ptr->type == STYPE_MEMBER" 271*3d8817e4Smiod (("assignment unit") (1 bit) ("bitunit")) 272*3d8817e4Smiod (("spare") (7 bits) ("spare2")) 273*3d8817e4Smiod (("field length") (addrsize bytes) ("field_len")) 274*3d8817e4Smiod (("field offset") (addrsize bytes) ("field_off")) 275*3d8817e4Smiod (cond "ptr->bitunit" 276*3d8817e4Smiod (("bit offset") (addrsize bytes) ("field_bitoff")))) 277*3d8817e4Smiod (cond "ptr->type== STYPE_ENUM" 278*3d8817e4Smiod (("value length") (1 byte) ("evallen")) 279*3d8817e4Smiod (("value") (4 bytes) ("evalue"))) 280*3d8817e4Smiod (cond "ptr->type == STYPE_CONST" 281*3d8817e4Smiod (("value") (chars variable bytes) ("cvalue"))) 282*3d8817e4Smiod (cond "ptr->type == STYPE_EQUATE" 283*3d8817e4Smiod (("value length") (1 byte) ("qvallen")) 284*3d8817e4Smiod (("value") (4 bytes) ("qvalue")) 285*3d8817e4Smiod (("basic type") (1 byte) ("btype")) 286*3d8817e4Smiod (("size information") (addrsize bytes) ("sizeinfo")) 287*3d8817e4Smiod (("sign") (2 bits) ("sign")) 288*3d8817e4Smiod (("floating point type") (6 bits) ("flt_type"))) 289*3d8817e4Smiod (("source file number") (2 bytes) ("sfn")) 290*3d8817e4Smiod (("source line number") (2 bytes) ("sln")) 291*3d8817e4Smiod (("negotiation number") (2 bytes) ("neg")) 292*3d8817e4Smiod (cond "ptr->type == STYPE_TAG" 293*3d8817e4Smiod (("magic") (1 byte) ("magic")))) 294*3d8817e4Smiod 295*3d8817e4Smiod 296*3d8817e4Smiod 297*3d8817e4Smiod("dul" 0x52 298*3d8817e4Smiod (("max declaration type flag") (1 bit) ("max_variable")) 299*3d8817e4Smiod (("max spare") (7 bits) ("maxspare")) 300*3d8817e4Smiod (cond "ptr->max_variable == 0" 301*3d8817e4Smiod (("maximum") (addrsize bytes) ("max")) 302*3d8817e4Smiod (("max mode") (chars variable bytes) ("maxmode"))) 303*3d8817e4Smiod 304*3d8817e4Smiod (("min declaration type flag") (1 bit) ("min_variable")) 305*3d8817e4Smiod (("min spare") (7 bits) ("minspare")) 306*3d8817e4Smiod (cond "ptr->min_variable == 0" 307*3d8817e4Smiod (("minimum") (addrsize bytes) ("min")) 308*3d8817e4Smiod (("min mode") (chars variable bytes) ("minmode")))) 309*3d8817e4Smiod 310*3d8817e4Smiod 311*3d8817e4Smiod("dty" 0x36 312*3d8817e4Smiod (("end flag") (1 bit) ("end")) 313*3d8817e4Smiod (("spare") (7 bits) ("spare")) 314*3d8817e4Smiod (cond "!ptr->end" 315*3d8817e4Smiod (("negotiation") (2 bytes) ("neg")))) 316*3d8817e4Smiod 317*3d8817e4Smiod 318*3d8817e4Smiod("dbt" 0x44 319*3d8817e4Smiod (("basic type") (1 byte) ("btype") 320*3d8817e4Smiod (("BTYPE_VOID" "0") 321*3d8817e4Smiod ("BTYPE_UNDEF" "1") 322*3d8817e4Smiod ("BTYPE_CHAR" "2") 323*3d8817e4Smiod ("BTYPE_INT" "3") 324*3d8817e4Smiod ("BTYPE_FLOAT" "4") 325*3d8817e4Smiod ("BTYPE_BIT" "5") 326*3d8817e4Smiod ("BTYPE_STRING" "6") 327*3d8817e4Smiod ("BTYPE_DECIMAL" "7") 328*3d8817e4Smiod ("BTYPE_ENUM" "8") 329*3d8817e4Smiod ("BTYPE_STRUCT" "9") 330*3d8817e4Smiod ("BTYPE_TYPE" "10") 331*3d8817e4Smiod ("BTYPE_TAG" "11") 332*3d8817e4Smiod ("BTYPE_UNSPEC" "0xff"))) 333*3d8817e4Smiod (("size info") (addrsize bytes) ("bitsize")) 334*3d8817e4Smiod (("sign") (2 bits) ("sign") 335*3d8817e4Smiod (("SIGN_SIGNED" "0") 336*3d8817e4Smiod ("SIGN_UNSIGNED" "1") 337*3d8817e4Smiod ("SIGN_UNSPEC" "3"))) 338*3d8817e4Smiod (("floating point type") (6 bits) ("fptype") 339*3d8817e4Smiod (("FPTYPE_SINGLE" "0") 340*3d8817e4Smiod ("FPTYPE_DOUBLE" "1") 341*3d8817e4Smiod ("FPTYPE_EXTENDED" "2") 342*3d8817e4Smiod ("FPTYPE_NOTSPEC" "0x3f"))) 343*3d8817e4Smiod (cond "ptr->btype==BTYPE_TAG || ptr->btype == BTYPE_TYPE" 344*3d8817e4Smiod (("symbol id") (2 bytes) ("sid"))) 345*3d8817e4Smiod (("negotiation") (2 bytes) ("neg"))) 346*3d8817e4Smiod 347*3d8817e4Smiod("dar" 0x4e 348*3d8817e4Smiod (("element length" ) (addrsize bytes) ("length")) 349*3d8817e4Smiod (("dims") (1 byte) ("dims")) 350*3d8817e4Smiod (repeat "ptr->dims" 351*3d8817e4Smiod (("variable flag") (1 bit) ("variable") 352*3d8817e4Smiod (("VARIABLE_FIXED" "0") 353*3d8817e4Smiod ("VARIABLE_VARIABLE" "1"))) 354*3d8817e4Smiod 355*3d8817e4Smiod (("subscript type") (1 bit) ("subtype") 356*3d8817e4Smiod (("SUB_INTEGER" "0") 357*3d8817e4Smiod ("SUB_TYPE" "1"))) 358*3d8817e4Smiod 359*3d8817e4Smiod (("spare") (6 bits) ("spare")) 360*3d8817e4Smiod 361*3d8817e4Smiod (cond "ptr->subtype[n] == SUB_TYPE" 362*3d8817e4Smiod (("sub symbol id") (2 bytes) ("sid"))) 363*3d8817e4Smiod 364*3d8817e4Smiod (cond "ptr->subtype[n] == SUB_INTEGER" 365*3d8817e4Smiod (("max declaration type flag") (1 bit) ("max_variable")) 366*3d8817e4Smiod (("max spare") (7 bits) ("maxspare")) 367*3d8817e4Smiod ;; FIXME: next field should be conditional on max_variable, 368*3d8817e4Smiod (("maximum") (addrsize bytes) ("max")) 369*3d8817e4Smiod 370*3d8817e4Smiod (("min declaration type flag") (1 bit) ("min_variable")) 371*3d8817e4Smiod (("min spare") (7 bits) ("minspare")) 372*3d8817e4Smiod ;; FIXME: next field should be conditional on min_variable 373*3d8817e4Smiod (("minimum") (addrsize bytes) ("min")))) 374*3d8817e4Smiod (("negotiation") (2 bytes) ("neg"))) 375*3d8817e4Smiod 376*3d8817e4Smiod 377*3d8817e4Smiod("dso" 0x3a 378*3d8817e4Smiod (("function name") (2 bytes) ("sid")) 379*3d8817e4Smiod (("sp update count") (4 bytes) ("spupdates")) 380*3d8817e4Smiod (repeat "ptr->spupdates" 381*3d8817e4Smiod (("update address") (addrsize bytes) ("address")) 382*3d8817e4Smiod (("offset") (addrsize bytes) ("offset")))) 383*3d8817e4Smiod 384*3d8817e4Smiod("dln" 0x38 385*3d8817e4Smiod (("number of lines") (2 bytes) ("nln")) 386*3d8817e4Smiod (repeat "ptr->nln" 387*3d8817e4Smiod (("source file number") (2 bytes) ("sfn")) 388*3d8817e4Smiod (("source line number") (2 bytes) ("sln")) 389*3d8817e4Smiod (("section number") (2 bytes) ("section")) 390*3d8817e4Smiod (("from address") (addrsize bytes) ("from_address")) 391*3d8817e4Smiod (("to address") (addrsize bytes) ("to_address")) 392*3d8817e4Smiod (("call count") (2 bytes) ("cc")) 393*3d8817e4Smiod ) 394*3d8817e4Smiod (("neg") (2 bytes) ("neg"))) 395*3d8817e4Smiod 396*3d8817e4Smiod("dpp" 0x46 397*3d8817e4Smiod (("start/end") (1 bit) ("end")) 398*3d8817e4Smiod (("spare") (7 bits) ("spare")) 399*3d8817e4Smiod (cond "!ptr->end" 400*3d8817e4Smiod (("params") (1 byte) ("params")) 401*3d8817e4Smiod (("neg number") (2 bytes) ("neg")))) 402*3d8817e4Smiod 403*3d8817e4Smiod("den" 0x4a 404*3d8817e4Smiod (("start/end") (1 bit) ("end")) 405*3d8817e4Smiod (("spare") (7 bits) ("spare")) 406*3d8817e4Smiod (cond "!ptr->end" 407*3d8817e4Smiod (("neg number") (2 bytes) ("neg")))) 408*3d8817e4Smiod 409*3d8817e4Smiod("dfp" 0x48 410*3d8817e4Smiod (("start/end flag") (1 bit) ("end")) 411*3d8817e4Smiod (("spare") (7 bits) ("spare")) 412*3d8817e4Smiod (cond "!ptr->end" 413*3d8817e4Smiod (("number of parameters") (1 byte) ("nparams")) 414*3d8817e4Smiod (("neg number") (2 bytes) ("neg")))) 415*3d8817e4Smiod 416*3d8817e4Smiod("dds" 0x4c 417*3d8817e4Smiod (("start/end") (1 bit) ("end")) 418*3d8817e4Smiod (("spare") (7 bits) ("spare")) 419*3d8817e4Smiod (cond "!ptr->end" 420*3d8817e4Smiod (("neg number") (2 bytes) ("neg")))) 421*3d8817e4Smiod 422*3d8817e4Smiod("dpt" 0x50 423*3d8817e4Smiod (("neg number") (2 bytes) ("neg")) 424*3d8817e4Smiod (("dunno") (1 byte) ("dunno"))) 425*3d8817e4Smiod 426*3d8817e4Smiod("dse" 0x54 427*3d8817e4Smiod (("neg number") (2 bytes) ("neg")) 428*3d8817e4Smiod (("dunno") (1 byte) ("dunno"))) 429*3d8817e4Smiod 430*3d8817e4Smiod("dot" 0x56 431*3d8817e4Smiod (("unknown") (1 byte) ("unknown"))) 432*3d8817e4Smiod; FIXME: unknown field should be repeated symbol number? 433*3d8817e4Smiod 434*3d8817e4Smiod 435*3d8817e4Smiod("dss" 0x42 436*3d8817e4Smiod (("type") (1 byte) ("type")) 437*3d8817e4Smiod (("external/internal") (1 bit) ("internal")) 438*3d8817e4Smiod (("spare") (7 bits) ("spare")) 439*3d8817e4Smiod (cond "!ptr->internal" 440*3d8817e4Smiod ( ("package name") (chars variable byte) ("package"))) 441*3d8817e4Smiod (cond "ptr->internal" 442*3d8817e4Smiod (("symbol id") (2 bytes) ("id"))) 443*3d8817e4Smiod (("record type") (2 bytes) ("record")) 444*3d8817e4Smiod (("rules") (chars variable byte) ("rules")) 445*3d8817e4Smiod (("number of symbols") (2 bytes) ("nsymbols")) 446*3d8817e4Smiod (("unknown" ) (2 bytes) ("fixme"))) 447*3d8817e4Smiod 448*3d8817e4Smiod("pss" 0x40 449*3d8817e4Smiod (("negotiation number") (2 bytes) ("efn")) 450*3d8817e4Smiod (("number of source files") (2 bytes) ("ns")) 451*3d8817e4Smiod (repeat "ptr->ns" 452*3d8817e4Smiod (("directory reference bit") (1 bit) ("drb")) 453*3d8817e4Smiod (("spare") (7 bits) ("spare")) 454*3d8817e4Smiod (("completed file name") (chars variable byte) ("fname")) 455*3d8817e4Smiod (cond "ptr->drb[n]" 456*3d8817e4Smiod (("directory apperance number") (2 bytes) ("dan")))) 457*3d8817e4Smiod 458*3d8817e4Smiod (("number of directories") (2 bytes) ("ndir")) 459*3d8817e4Smiod (repeat "ptr->ndir" 460*3d8817e4Smiod (("directory name") (chars variable bytes) ("dname")))) 461*3d8817e4Smiod 462*3d8817e4Smiod 463*3d8817e4Smiod; FIXME: the tr block has no contents. sysinfo, etc. aren't prepared 464*3d8817e4Smiod; to deal with that. 465*3d8817e4Smiod; ("tr" 0x7f) 466*3d8817e4Smiod 467*3d8817e4Smiod 468*3d8817e4Smiod("dus" 0x40 469*3d8817e4Smiod (("negotiation number") (2 bytes) ("efn")) 470*3d8817e4Smiod (("number of source files") (2 bytes) ("ns")) 471*3d8817e4Smiod (repeat "ptr->ns" 472*3d8817e4Smiod (("directory reference bit") (1 bit) ("drb")) 473*3d8817e4Smiod (("spare") (7 bits) ("spare")) 474*3d8817e4Smiod (("completed file name") (chars variable byte) ("fname")) 475*3d8817e4Smiod (cond "ptr->drb[n]" 476*3d8817e4Smiod (("directory apperance number") (2 bytes) ("dan")))) 477*3d8817e4Smiod (("number of directories") (2 bytes) ("ndir")) 478*3d8817e4Smiod (repeat "ptr->ndir" 479*3d8817e4Smiod (("directory name") (chars variable bytes) ("dname")))) 480*3d8817e4Smiod 481*3d8817e4Smiod 482*3d8817e4Smiod("dps" 0x32 483*3d8817e4Smiod (("start/end flag") (1 bit) ("end")) 484*3d8817e4Smiod (("block type") (7 bits) ("type") 485*3d8817e4Smiod (("BLOCK_TYPE_COMPUNIT" "0") 486*3d8817e4Smiod ("BLOCK_TYPE_PROCEDURE" "2") 487*3d8817e4Smiod ("BLOCK_TYPE_FUNCTION" "3") 488*3d8817e4Smiod ("BLOCK_TYPE_BLOCK" "4") 489*3d8817e4Smiod ("BLOCK_TYPE_BASIC" "9"))) 490*3d8817e4Smiod (cond "!ptr->end" 491*3d8817e4Smiod (("optimization") (1 byte) ("opt")) 492*3d8817e4Smiod (("section number") (2 bytes) ("san")) 493*3d8817e4Smiod (("address") (addrsize bytes) ("address")) 494*3d8817e4Smiod (("block size") (addrsize bytes) ("block_size")) 495*3d8817e4Smiod (("nesting") (1 byte) ("nesting")) 496*3d8817e4Smiod (cond "ptr->type == BLOCK_TYPE_PROCEDURE 497*3d8817e4Smiod || ptr->type == BLOCK_TYPE_FUNCTION" 498*3d8817e4Smiod (("return address") (1 bit) ("retaddr")) 499*3d8817e4Smiod (("interrupt function flag") (1 bit) ("intrflag")) 500*3d8817e4Smiod (("stack update flag") (1 bit) ("stackflag")) 501*3d8817e4Smiod (("intra page JMP") (1 bit) ("intrpagejmp")) 502*3d8817e4Smiod (("spare") (4 bits) ("spare"))) 503*3d8817e4Smiod (("neg number") (2 bytes) ("neg")))) 504*3d8817e4Smiod 505