Hi Christian,
Thank you, I did find the dump yesterday and to answer your question, I do
have 32k of memory (two 16k boards).
It is my understanding that if an A gets printed, the A test completed
successfully and it is dying at the B test where the last part of the test
is to print the letter B on screen.
We certainly need a hex dump for the 5100 but I've looked around and found
nothing. I don't suppose I can dump my Executable ROS in the condition my
machine is in.
Is there a list of the Assembler opcodes I can reference?
Thanks again for your help,
Santo
On Wed, Mar 18, 2015 at 12:23 PM, Christian Corti <
cc at informatik.uni-stuttgart.de> wrote:
On Wed, 18 Mar 2015, Santo Nucifora wrote:
execros.asm
<http://ftp.informatik.uni-stuttgart.de/pub/cm/ibm/ibm5100/execros.asm>
doesn't
exist on the ftp server. If you could send it to me off-line, I would
Sorry, there's a typo: .../ibm/ibm5110/... (instead of 5100). And use FTP
as I said, so just change http:// with ftp:// or use a FTP client.
BTW I had a look at your screen shot. The register contents is as follows:
R0 - varying around $0090
R1 - $0090
R2 - $0000
R3 - $0600
R4 - $0006
R5 - $0202
R6 - $0005
R7 - $05C0
R8 - $00C0
R9..R14 - $0000
R15 - $0005
R13L1 - $7FFF (last RWS address? Do you have 32kB in your machine?)
If your machine really halts at stop 'A', then this is strange. R5 should
contain the screen address for the next character. $0202 should be for the
'C', so the machine might hang at stop 'B'. R15 should contain $00FF.
Having R1 with $0090 implies a negative test instruction at $008C with the
halt instruction at $008E. (R1 is used as link register with conditional
skip instructions. If no skip occurs, the next instruction can be a jump to
a subroutine, and R1 contains the address of the instruction following that
jump. This is automatically done by the CPU).
R3 and R4 might contain the end values after the screen clear routine
(just before the 'A' routine). The 5110 version looks like this:
; Clear display
006C 8F40 LBI R15, #' '
006E 0FFD MLH R15, R15
0070 8D06 LBI R13, #$06
0072 5F51 MOVE (R5)+, R15
0074 C5D7 SBSH R5, R13
0076 F005 BRA $0072 ; -> -$06(R0)
And the 5100 version could be something like this:
8200 LBI R2, #' '
022D MLH R2, R2 ; R2 <- $0000
8406 LBI R4, #$06 ; R4 <- $0006
5231 MOVE (R3)+, R2
C347 SBSH R3, R4
F005 BRA $-6
The screen is cleared from $0200 (begin of screen) up to (excluding) $0600
(end of screen). So R3 contains the address of the first byte after the
screen area.
But to find out what the machine did until this point, I need the
Executable ROS hex dump as described in my last post. Address 0090 is well
within the first 512 bytes so we should get the first couple of diagnostic
routines.
Christian