The PowerPC 604 RISC Microprocessor - eisber.net
The PowerPC 604 RISC Microprocessor - eisber.net
The PowerPC 604 RISC Microprocessor - eisber.net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ATtagbytesCONSTANT_Integer_infoul tag;u4 bytes;CONSTANT_Float_infoul tag;u4 bytes;<strong>The</strong> tag will have the value CONSTANT_Integer or CONSTANT_FloatFor integers, the four bytes are the integer value. For floats, they are the IEEE 754 standardrepresentation of the floating point value. <strong>The</strong>se bytes are in <strong>net</strong>work (high byte first) order.2.3.5 CONSTANT_Long and CONSTANT_DoubleCONSTANT_ Long and coNsTANT_Doub1e represent eight-byte constants.CONSTANT_Long_infoul tag;u4 high_bytes;u4 low_bytes;CONSTANT_Double_infoul tag;u4 high_byte:);u4 low_bytes;All eight-byte constants take up two spots in the constant pool. If this is the n il' item in the constant pool, thenthe next item will be numbered n+ 2.tag<strong>The</strong> tag will have the value CONSTANT_Long or CONSTANT_Doubl e.high_byt••, low_byt••For CONSTANT_Long, the 64 -bit value is (high...bytes «32) + low_bytes.For CONSTANT_Double, the 64 -bit value, high_.bytes and low_bytes together representthe standard IEEE 754 representation of the double-precision floating point number.2.3.6 CONSTANT_NameAndTypecoNsTANT_NameAndType is used to represent a field or method, without indicating which class it belongs to.tagCONSTANT_NarneAndType_ info I1 tag;u2 name_index;u2 signature_index;<strong>The</strong> tag will have the value CONSTANT_NameAridType1name_indexconstant_pool I name_ i ndex ) is a CONSTANT_Ut 18 string giving the name of the fieldor method.• ignature_indexconstant_pool l signature_index 1 is a CONSTANT_Ut 18 string giving the signatureof the field or method.2.3.7 CONSTANT_Utf8 and CONSTANT UnicodeCONSTANT_Ut f8 and CONSTANT_Uni code are used to represent constant string values.CONSTANT__Ut f 8 strings are "encoded" so that strings containing only non-null ASCII characters, can berepresented using only one byte per character, but characters of up to 16 bits can be represented.All characters in the range Ox0001 to Ox0071: are represented by a single byte:• - • - • - • - - • - • -1017bits of data- • - • - - • - - - -<strong>The</strong> null character (0x0000) and characters in the range 0x0080 to Ox0714: are represented by a pair of two bytes4 - • - • - • - • - • - • - • - • • - • - • - 4 - - - • - - •1111101 5 bitst 1 )1101 6 bits• - • - • - - • - - • - - • •- • - - - • - 4 - • - 4 - •Characters in the range 0x0800 to OxFFIT are represented by three bytes:• - • - • - • - • - • - • - • - • • - ♦ - • - - • - • - • - • - • • - • - • - • - • - • - • - • - •1111111014 bits 1 11101 6 bits 1 11101 6 bits 1• -•-.-.-.-.-.-. - • -+-.- s-+-•-.-• -+ -.-.-.-.-. -• -<strong>The</strong>re are two differences between this format and the "standard" UTF-8 format. First, the null byte (0x00) isencoded in two-byte format rather than one-byte, so that our strings never have embedded nulls. Second, onlythe one-byte, two-byte, and three-byte formats are used. We do not recognize the longer formats.t aglengthbytesCONSTANT_Utfe_info (ul tag;u2 length;ul bytes I length);CONSTANT_Unicode_infoul tag;u2 length;u2 bytes ( length' ;<strong>The</strong> tag will have the value CONSTANT_Ut 18 or CONSTANT_Uni code.<strong>The</strong> number of bytes in the string. <strong>The</strong>se strings are not null terminated.<strong>The</strong> actual bytes of the string.Auguso 22, 1995 lava Virtual Machine Specification 17 le lava V11111111 Machine Sivo(Kntton Aug... 12 1541