13.07.2015 Views

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

The PowerPC 604 RISC Microprocessor - eisber.net

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!