[Simh] H316 LDX instructin
Adrian Wise
adrian at adrianwise.co.uk
Wed Oct 27 02:14:24 EDT 2010
Dennis
> > If you send me source code I'll run it on my simulator and let you
know
> > whether that fixes the issue.
>
> I appreciate the offer. The formats I have are somewhat less than
> convenient, but I'll provide a variety of bits at the end of this
> message. I should point out that I've actually been using the Prime
> assembler (PMA) in 16S mode, and that its column which shows machine
> code in octal is, um, odd.
So recast in DAP (the Honeywell assembler) I get:
ABS PAGE 1
0001 ABS
0002 * D16S
0003 * SDM 0
0004 ORG '1000
0005 01000 34 0104 HW SKS '104
0006 01001 0 01 01000 JMP HW
0007 01002 14 0104 OCP '104
0008 01003 0 35 01036 LOOP LDX IXR
0009 01004 1 02 01026 LDA MSG,1
0010 01005 141340 ICA
0011 01006 141050 CAL
0012 * JST CHAROUT
0013 01007 0 10 01022 JST CHRT
0014 01010 1 02 01026 LDA MSG,1
0015 01011 141050 CAL
0016 * JST CHAROUT
0017 01012 0 10 01022 JST CHRT
0018 01013 0 02 01036 LDA IXR
0019 * A1A
0020 01014 141206 AOA
0021 01015 0 04 01036 STA IXR
0022 01016 0 11 01035 CAS LEN
0023 01017 000000 HLT
0024 01020 000000 HLT
0025 01021 0 01 01003 JMP LOOP
0026 *
0027 *CHAROUT DAC **
0028 01022 0 000000 CHRT DAC **
0029 01023 74 0004 OTL2 OTA 4
0030 01024 0 01 01023 JMP OTL2
0031 * JMP CHAROUT,*
0032 01025 -0 01 01022 JMP* CHRT
0033 *
0034 *MSG BCI 'HELLO WORLD!'
0035 01026 144305 MSG BCI 6,HELLO WORLD!
01027 146314
01030 147640
01031 153717
01032 151314
01033 142241
0036 01034 106612 OCT '106612
0037 01035 0 000007 LEN DAC *-MSG
0038 01036 000000 IXR OCT 0
0039 END HW
CHRT 001022A HW 001000A IXR 001036A LEN 001035A
LOOP 001003A MSG 001026A OTL2 001023A
0000 WARNING OR ERROR FLAGS
DAP-16 MOD 2 REV. C 01-26-71
Which, when run, gives the correct output and you see the trace output
corresponding to the one you gave in your original message gives the
correct results. (My simulator only prints the computed effective
address where some actual "computation" is required, which it isn't if
LDX operates as it should, so you don't actually see the address that is
erroneously computed by simh.):
> h16 -t
h16 1.4.9 Fri Apr 2 07:55:49 BST 2010
Copyright (c) 1997, 1998, 1999, 2004, 2005, 2006, 2007, 2008, 2009
Adrian Wise
h16 is free software, covered by the GNU General
Public License, and you are welcome to change it and/or
distribute copies of it under certain conditions.
Type "license" or "warranty" for details
MON: A:000000 B:000000 X:000000 000000 000000 HLT
MON> g'1
PTR: Filename>h316_hw16s.ptp
MON: A:000000 B:000000 X:013400 013633 0 04 0024 STA '000024
MON> g'1000
HELLO WORLD!
MON: A:000007 B:000000 X:000006 001021 0 01 1003 JMP '001003
MON> t,300
<snip>
A:000314 B:000000 X:000001 C:0 001023 74 0004 OTA '0004
A:000314 B:000000 X:000001 C:0 001024 0 01 1023 JMP *-1
A:000314 B:000000 X:000001 C:0 001023 74 0004 OTA '0004
A:000314 B:000000 X:000001 C:0 001025 -0 01 1022 JMP* '001022='001013
A:000001 B:000000 X:000001 C:0 001013 0 02 1036 LDA '001036
A:000002 B:000000 X:000001 C:0 001014 141206 AOA
A:000002 B:000000 X:000001 C:0 001015 0 04 1036 STA '001036
A:000002 B:000000 X:000001 C:0 001016 0 11 1035 CAS '001035
A:000002 B:000000 X:000001 C:0 001021 0 01 1003 JMP '001003
A:000002 B:000000 X:000002 C:0 001003 1 15 1036 LDX '001036
A:147640 B:000000 X:000002 C:0 001004 1 02 1026 LDA '001026,1='001030
<snip>
Adrian
More information about the Simh
mailing list