| Red Hat Documentation |
|
H8/300 dependent features See the following documentation for the Hitachi H8/300 architecture’s features and options for the assembler. as has no additional command-line options for the Hitachi H8/300 family. The following documentation refers to the syntax for the Hitachi H8/300. ; is the line comment character. $ can be used instead of a newline to separate statements. Therefore you may not use $ in symbol names on the H8/300. You can use predefined symbols of the form rnh and rnl to refer to the H8/300 registers as sixteen 8-bit general-purpose registers. n is a digit from 0 to 7); for instance, both r0h and r7l are valid register names. You can also use the eight predefined symbols rn to refer to the H8/300 registers as 16-bit registers (you must use this form for addressing). On the H8/300H, you can also use the eight predefined symbols ern (er0...er7) to refer to the 32-bit general purpose registers. The two control registers are called pc (program counter; a 16-bit register, except on the H8/300H where it is 24 bits) and ccr (condition code register; an 8-bit register). r7 is used as the stack pointer, and can also be called sp. as
understands the following addressing modes for the H8/300.
@rn
@(d, rn)
@rn+
@-rn
@aa
#xx:8 #xx:16 #xx:32
@@aa
The H8/300 family has no hardware floating point, but the .float directive generates IEEE floating-point numbers for compatibility with other development tools. as
has only one machine-dependent directive for the H8/300:
For the H8/300 family (including the H8/300H), .word directives generate 16-bit numbers. For detailed information on the H8/300 machine instruction set, see H8/300 Series Programming Manual (Hitachi ADE–602–025). For information specific to the H8/300H, see H8/300H Series Programming Manual (from Hitachi). as implements all the standard H8/300 opcodes. No additional pseudo-instructions are needed on this family. Four H8/300 instructions (add, cmp, mov, and sub) are defined with variants using the suffixes, .b, .w, and .l to specify the size of a memory operand. as supports these suffixes, but does not require them; since one of the operands is always a register, as can deduce the correct size. For instance, since r0 refers to a 16-bit register, note the distinctions in the following examples.
mov w r0,@foo |
|
© 2001 Red Hat, Inc. All rights reserved. About Red Hat : Legal statement : Privacy statement : Y2K statement : Contact Red Hat |