2500_Users_Manual-.pdf - 第386页

:02 0000 04 0010 EA :02 0000 02 1230 BA :10 0045 00 55AA FF .. ... BC 00100000 + 12300 + 0045 00112345 Translation Formats Problem Find the address for the first data byte for the following file. Solution: Step 1. Find t…

100%1 / 448
:020000020000FC
:020000040010EA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:00000001FF
Offset Address
Address
Start Character
Extended Segment Address Record
Extended Linear Address Record
Data
Records
End-of-File Record
Checksum
Record Type
Byte
Count
Nonprinting Carriage Return, with optional
line feed and nulls determined by null count
LEGEND
0433-3
Checksum
Translation
Formats
Intel
Hex-32,
Code
99
The
Intel
32-bit
Hexadecimal
Object
file
record
format
has
a
9-character
(4-field)
prefix
that
defines
the
start
of
record,
byte
count,
load
address,
and
record
type,
and
a
2
-character
checksum
suffix.
Figure
D-25
illustrates
the
sample
records
of
this
format.
Figure
D-25
An
Example
of
the
Intel
Hex-32
Format
~
5
00-Data
Record
01-End
Record
02-Extended
Segment
Address
Record
The
six
record
types
are
described
below.
This
record
begins
with
the
colon
start
character,
which
is
followed
by
the
byte
count
(in
hex
notation),
the
address
of
the
first
data
byte,
and
the
record
type
(equal
to
00).
Following
these
are
the
data
bytes.
The
checksum
follows
the
data
bytes
and
is
the
two's
complement
(in
binary)
of
the
preceding
bytes
in
the
record,
including
the
byte
count,
address,
record
type,
and
data
bytes.
This
end-of-file
record
also
begins
with
the
colon
start
character
and
is
followed
by
the
byte
count
(equal
to
00),
the
address
(equal
to
0000),
the
record
type
(equal
to
01),
and
the
checksum,
FF.
This
is
added
to
the
offset
to
determine
the
absolute
destination
address.
The
address
field
for
this
record
must
contain
ASCII
zeros
(Hex
30s).
This
record
type
defines
bits
4
to
19
of
the
segment
base
address.
It
can
appear
randomly
anywhere
within
the
object
file
and
affects
the
absolute
memory
address
of
subsequent
data
records
in
the
file.
The
following
example
illustrates
how
the
extended
segment
address
is
used
to
determine
a
byte
address.
ProMaster
2500
User
Manual
D-55
:02 0000 04 0010 EA
:02 0000 02 1230 BA
:10 0045 00 55AA FF ..... BC
00100000
+ 12300
+ 0045
00112345
Translation
Formats
Problem
Find
the
address
for
the
first
data
byte
for
the
following
file.
Solution:
Step
1.
Find
the
extended
linear
address
offset
for
the
data
record
(0010
in
the
example).
Step
2.
Find
the
extended
segment
address
offset
for
the
data
record
(1230
in
the
example).
Step
3.
Find
the
address
offset
for
the
data
from
the
data
record
(0045
in
the
example).
Step
4.
Calculate
the
absolute
address
for
the
first
byte
of
the
data
record
as
follows:
Linear
address
offset,
shifted
left
16
bits
Segment
address
offset,
shifted
left
4
bits
Address
offset
from
data
record
32-bit
address
for
first
data
byte
The
address
for
the
first
data
byte
is
112345.
Note:
Always
specify
the
address
offset
when
using
this
format,
even
when
t
offset
is
zero.
During
output
translation,
the
firmware
will
force
the
record
size
to
16
(decimal)
if
the
record
size
is
specified
greater
than
16.
There
is
no
such
limitation
for
record
sizes
specified
less
than
16.
03-Start
Segment
Address
Record
This
record,
which
specifies
bits
4-19
of
the
execution
start
address
for
the
object
file,
is
not
used
by
the
programmer.
04-Extended
Linear
Address
Record
This
record
specifies
bits
16-31
of
the
destination
address
for
the
data
records
that
follow.
It
is
added
to
the
offset
to
determine
the
absolute
destination
address
and
can
appear
randomly
anywhere
within
the
object
file.
The
address
field
for
this
record
must
contain
ASCII
zeros
(Hex
30s).
05-Start
Linear
Address
Record
This
record,
which
specifies
bits
16-31
of
the
execution
start
address
for
the
object
file,
is
not
used
by
the
programmer.
D-56
ProMaster
2500
User
Manual
Translation
Formats
Highest
I/O
Addresses
The
following
table
shows
the
highest
I/O
addresses
accepted
for
each
Data
Translation
Format.
Format
Number
Format
Name
Highest
Address
(hex
bytes)
01-03
ASCII
(BNPF,
BHLF,
and
B10F)
N/A
04
Texas
Instruments
SDSMAC
(320)
1FFFF
(FFFF
words)
05-07
ASCII
(BNPF,
BHLF,
and
Bl
OF)
N/A
11
DEC
Binary
N/A
12-13
Spectrum
270F
16
Absolute
Binary
N/A
17
LOF
N/A
30-32
ASCII-Octal
3FFFF
(Space,
Percent,
and
Apostrophe)
(777777
octal)
35-37
ASCII-Octal
3FFFF
(Space,
Percent,
and
SMS)
(777777
octal)
50-52
ASCII-Hex
FFFF
(Space,
Percent,
and
Apostrophe)
55-58
ASCII-Hex
FFFF
(Space,
Percent,
SMS,
and
Comma)
70
RCA
Cosmac
FFFF
80
Fairchild
Fairbug
FFFF
81
MOS
Technology
FFFF
82
Motorola
EXORciser
FFFF
83
Intel
Intellec
8/MDS
FFFF
85
Signetics
Absolute
Object
FFFF
86
Tektronix
Hexadecimal
FFFF
87
Motorola
EXORmacs
FFFFFF
88
Intel
MCS-86
Hex
Object
fffff
89
Hewlett-Packard
64000
Absolute
ffffffff
90
Texas
Instruments
SDSMAC
FFFF
91,92
JEDEC
(Full
and
Kernel)
N/A
94
Tektronix
Hexadecimal
Extended
FFFFFFFF
95
Motorola
32
bit
(S3
record)
FFFFFFFF
96
Hewlett-Packard
UNIX
Format
FFFFFFFF
97
Intel
OMF
386
FFFFFFFF
98
Intel
OMF
286
FFFFFF
99
Intel
Hex-32
FFFFFFFF
ProMaster
2500
User
Manual
D-57