Chapter 3

A2: Consider both a very simple statement like A = B and a slightly more complex statement like A = B + C.
A3: Can a statement lack a label and/or operands?
A4: Examine all opcodes and directives.
A5: Disambiguation, ease of change, etc.
A6: 0b101010, 052, 42, 0x2a for the Linux assembler.
A7: a. Permitted by gcc; b. Seemingly not offered by ecc.
A8: You will probably find 0x9c, 0x80, 0x03, 0x29, 0x53, 0x04.
A9: A Unix/Linux assembler would be expected to compute 53.
A10: 30000: 0000 0000 0000 0066

30008: 0000 0000 0000 000C

30010: 0000 0000 0000 0022

here = 0x30000, relocatable; there = 0x68 absolute; this = 0x30008, relocatable; thing = 0xC8, absolute.

A11: Hint: Use the .quad or data8 directive.
A12: Compare the number of bundles with the ...

Get Itanium® Architecture for Programmers: Understanding 64-Bit Processors and EPIC Principles now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.