Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Assembler/disassembler

11 views
Skip to first unread message

Dennis Boone

unread,
Oct 24, 2010, 5:41:01 PM10/24/10
to
Does anyone have an assembler and/or disassembler for the 50-series
architecture that could be built to run on Linux or maybe MSDOS?
I.e. probably source code in something reasonably portable. I've been
trying to do some low level tinkering, and such tools would make it
quite a bit easier.

Thanks,

De

Dennis Boone

unread,
Oct 26, 2010, 2:10:03 PM10/26/10
to

Got a bit of success with this project this morning, and need to vent
some of my excitement.

As a first proglet, I built 'hello world' in 16S mode. I used PMA to
assemble it, and first tried running it on the simh h316 emulator.
Since PMA puts out funky octal to show you opcodes separately
from displacements and such, I would load the object, restore the
.save file, and use hpsd to read out clean octal, then hand-type
it into h316. Tedious, which explains my wish for an assembler and
disassembler native to the emulator host platform(s).

Anyway, I got the worst bugs out of my program in simh, though I seem
to have found a bug in h316 in the LDX instruction (or I'm missing
something key about how to use LDX), which ends up garbling the order
of the message output. A sample run:

yagi 3 $ h316

H316 simulator V3.8-1
sim> restore h316_hw16s.save
sim> run 1000
HELLWOHERLHE

HALT instruction, P: 01021 (JMP 1003)

Anyway, I extracted the .save file out of my running prime emulator
environment and used it to boot a copy of the prime emulator:

p50emu 138 $ ../em -boot ../standalones/hw16s.save
emulator: device '7 failed initialization - device removed
HELLO WORLD!

Fatal error: CPU halt
instruction #121 at 0/1020 : 0 3003
owner=0 , keys=20100, modals=0

Source program looks like this (no hysterical laughter please; I've
never written 16S code before, or for that matter, much 64V):

ABS
D16S
SDM 0
ORG '1000
HW SKS '104
JMP HW
OCP '104
LOOP LDX IXR
LDA MSG,1
ICA
CAL
JST CHAROUT
LDA MSG,1
CAL
JST CHAROUT
LDA IXR
A1A
STA IXR
CAS LEN
HLT
HLT
JMP LOOP

CHAROUT DAC **
OTL2 OTA 4
JMP OTL2
JMP CHAROUT,*

MSG BCI 'HELLO WORLD!'
OCT '106612
LEN DAC *-MSG
IXR OCT 0
END HW

So anyway, please excuse me bouncing around like a nincompoop, but
IT WORKS IT WORKS!

*deep breath*

De

Doug Quebbeman

unread,
Dec 14, 2010, 4:47:03 PM12/14/10
to

Cool!

But why not just use the output from the Prime debugger?

Dennis Boone

unread,
Dec 14, 2010, 11:06:09 PM12/14/10
to
> But why not just use the output from the Prime debugger?

Not sure I follow the question, Doug.

De

0 new messages