Notation and terminology – FANUC Robotics America V7865* User Manual

Page 23

Advertising
background image

Notation and Terminology

23

Notation and Terminology

This product bridges the traditionally divergent worlds of Intel-based PCs and
Motorola-based VME controllers; therefore, some confusion over “conventional”
notation and terminology may exist. Every effort has been made to make this manual
consistent by adhering to conventions typical for the Motorola/VME world;
nevertheless, users in both camps should review the following notes:

• Hexadecimal numbers are listed Motorola-style, prefixed with a dollar sign:

$F79, for example. By contrast, this same number would be signified 0F79H
according to the Intel convention, or 0xF79 by many programmers. Less
common are forms such as F79

h

or the mathematician’s F79

16

.

• An 8-bit quantity is termed a “byte,” a 16-bit quantity is termed a “word,” and a

32-bit quantity is termed a “longword.” The Intel convention is similar,
although their 32-bit quantity is more often called a “doubleword.”

• Motorola programmers should note that Intel processors have an I/O bus that

is completely independent from the memory bus. Every effort has been made in
the manual to clarify this by referring to registers and logical entities in I/O
space by prefixing I/O addresses as such. Thus, a register at “I/O $140” is not
the same as a register at “$140,” since the latter is on the memory bus while the
former is on the I/O bus.

• Intel programmers should note that addresses are listed in this manual using a

linear, “flat-memory” model rather than the old segment:offset model
associated with Intel Real Mode programming. Thus, a ROM chip at a
segment:offset address of C000:0 will be listed in this manual as being at
address $C0000. For reference, here are some quick conversion formulas:

Segment:Offset to Linear Address

Linear Address = (Segment × 16) + Offset

Linear Address to Segment:Offset

Segment = ((Linear Address ÷ 65536) − remainder) × 4096

Offset = remainder × 65536

Where remainder = the fractional part of (Linear Address ÷ 65536)

Note that there are many possible segment:offset addresses for a single location. The
formula above will provide a unique segment:offset address by forcing the segment to
an even 64KB boundary, for example, $C000, $E000, etc. When using this formula,
make sure to round the offset calculation properly!

Advertising