[TUHS] as(1) on Ultrix-11 vs 2.11BSD
Ronald Natalie
ron at ronnatalie.com
Wed Apr 29 22:20:25 AEST 2020
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 at 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 at mercury.lcs.mit.edu <mailto:jnc at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20200429/e14b869b/attachment.html>
More information about the TUHS
mailing list