Sorry, I typed that in haste without testing. I don’t have a 2.11 system to try it on.
However, reading the source code, I did that wrong.
The args go on the stack, not in line with the code.
mov $6, -(sp)
mov a, -(sp)
mov $1,-(sp)
sys 4
On Apr 29, 2020, at 12:08 AM, Jacob Ritorto
<jacob.ritorto(a)gmail.com> wrote:
Shoot, celebrated too soon. I rearranged it per your tutelage, Ron, and it's still
giving an Illegal Instruction error!
From the adb output it looks like it's balking at the "14" instruction at
location 24, which, based on the BSD updates you mentioned, I thought should've been
taken as an arg, not an instruction, right?
I assume this worked for you on some BSD, right?
If so, is it a bug in the recent 2.11BSD patch release, perhaps? Anyone able to help me
understand?
vi hello.s
"hello.s" 8 lines, 52
characters
sys 4
1
a
6
sys 1
0
a: <Hello\n>
"hello.s" 7 lines, 78 characters
as !$
as hello.s
./a.out
Illegal instruction (core
dumped)
od a.out
0000000 000407 000022 000000
000000 000010 000000 000000 000000
0000020 104404 000001 000014 000006 104401 000000 062510 066154
0000040 005157 000000 000000 000002 000000 000000 000000 000000
0000060 000000 000000 000000 000004 000002 000014 000000 000006
0000100 000141
0000102
adb
adb> :s
stopped at 0: sys write
adb> :s
a.out: running
stopped at 04: <illegal op> 014
adb> :s
a.out: running
Illegal instruction
stopped at 06: rtt
adb> :s
a.out: running
Illegal instruction - core dumped
process terminated
adb> >
On Tue, Apr 28, 2020 at 10:26 PM Noel Chiappa <jnc(a)mercury.lcs.mit.edu
<mailto:jnc@mercury.lcs.mit.edu>> wrote:
From: Jacob Ritorto
I wonder if the differences are written up
somewhere. I did try to look
for more documentation but came up short.
Sounds like a perfect topic for a CHWiki page. :-) E.g. this one:
http://gunkies.org/wiki/Unix_V6_internals
<http://gunkies.org/wiki/Unix_V6_internals>
which I did as a bit of an addendum to Lions, to explain rsav, qsav and ssav, and
similar topics.
I noticed in the comparison of your two binary files that the instructions
looked the same, but the a.out headers had a difference, but I didn't remember
the fields in the a.out header enough to know what the differences meant.
I thought I remembered doing an a.out page there, but apparently not. I
thought about doing one now, but decided it wasn't worth it; I just needed to
spin up my V6 system and do 'man a.out'! :-)
Noel