On 26 Jul 2010 at 11:22, Jim Stephens wrote:
I'm curious what you found to make you think
the call was D3, etc.? I
looked and found a some other processors which might have 16 bit
immediate and wondered how you figure the call, vs. branch, etc. I
can guess, but thought I'd ask a few blobs of hex might put more
eyeballs on the puzzle.
Easy--inspecting the code that I have, the call to display (print) a
message takes the form:
D3 08 00
(size of ASCII string)
(ASCII string)
next instruction
If you think about it, the only way this will work is if the called
routine takes the return address from the D3 instruction and uses it
It doesn;t have to be a CALL in the normal sense (i.e. it stacks the PC
contents, it might just save the PC in some other register (or in the
word preceeding the subroutine itself, or..)
to access the inline data and then resumes after the
end of the
string has been reached.
Similarly, 2C xx xx appears to be a load immediate of some sort, as
it's used to set up constant data before a D3 xx xx instruction.
How do you know it's immediate, rather than, say, absolute. And how do
you know it's a load and not some other opeation between a register and
the next 2 bytes?
It starts in the middle of a display screen
"PROGRAM IS FOR". At
00A363, you'll see " ZOOM & HIS BOARD ONLY". Then, at 00A3BD,
the display text "INSERT UUT AND SYNCS GENERATOR CARD". Finally, at
00A417, "PRESS GO TO TEST".
Is this to test some kind of video display system. 'ZOOM and HIS' might
be Zoom and Histogram board (A histrogram of the displayed pixels -- that
is keeping a vount of how many of each intensity are present) was not
uncommon on video systems of that period. UUT is almost certianly 'Unit
Under Test'. ;'Syncs Generator' is also possibly video-related. It sounds
a little like the I2S image dispalys I have, but not exactly.
-tony