Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.os.development > #8298

Re: What form of executable or load module for your OS?

From "Rod Pemberton" <boo@fasdfrewar.cdm>
Newsgroups alt.os.development
Subject Re: What form of executable or load module for your OS?
Date 2015-07-05 05:28 -0400
Organization Aioe.org NNTP Server
Message-ID <op.x1am9mo9yfako5@localhost> (permalink)
References (12 earlier) <mn73e5$3hc$1@dont-email.me> <op.x08ojxp5yfako5@localhost> <853c70d5-5652-42e9-ac0f-e4b832b56ca3@googlegroups.com> <op.x1ad7uijyfako5@localhost> <a4f7d2ad-2109-4cf9-ac92-fc660efbdeed@googlegroups.com>

Show all headers | View raw


On Sun, 05 Jul 2015 03:47:12 -0400, Alexei A. Frounze
<alexfrunews@gmail.com> wrote:
> On Saturday, July 4, 2015 at 11:12:45 PM UTC-7, Rod Pemberton wrote:
>> On Sat, 04 Jul 2015 07:42:20 -0400, Alexei A. Frounze
>> <...@gmail.com> wrote:
>> > On Saturday, July 4, 2015 at 1:00:54 AM UTC-7, Rod Pemberton wrote:

>> >> 6) NASM auto-generated long branches
>> >>
>> >> 6a) use old NASM 0.98.39
>> >> 6b) set a NASM flag to not do that
>> >
>> > What will NASM do then?
>>
>> Nothing.  The user must fix it.  E.g., perhaps a manual short
>> branch over jump or an indirect branch.
>
> You're probably using an older version of NASM if "the user must fix it".
>

LOL.  That is what 6a) said.  6b) was for new NASM.  Obviously ...  ;-)

> ----8<----
> ; file: br.asm
> ; compile (with nasm 2.10): nasm -f bin br.asm -o br.com
> ; decompile: ndisasm -b 16 -o 0x100 br.com
> CPU 8086
> org 0x100
> bits 16
>
> jz lab
> times 256 nop
> lab:
> ret
> ----8<----
> Assembles without errors.
>
> Disassembly:
> ----8<----
> 00000100  7503              jnz 0x105
> 00000102  E90001            jmp word 0x205
> 00000105  90                nop
> 00000106  90                nop
> 00000107  90                nop
> 00000108  90                nop
> ...
> 00000200  90                nop
> 00000201  90                nop
> 00000202  90                nop
> 00000203  90                nop
> 00000204  90                nop
> 00000205  C3                ret
> ----8<----
>
> So, NASM 2.10 (or maybe all the way back to 2.03) is doing just fine.

Are you saying NASM actually compiles that for the 8086 source?

It clearly  DID NOT  do what it was told to do ...  Bad assembler!

So, that's rather surprising to me, since NASM is so "pedantic".

Let's check:

yes 2.09.04 64-bit Linux
yes 2.06rc8 to 2.10.01 32-bit DOS (5 versions)
no  0.98.39 32-bit DOS

The classic 0.98.39 version of NASM reports an error on line 5:
"... error short jump is out of range"

James was concerned with Jcc with an offset greater than 8-bits
for 8086 code.  The 8086 only supported the 8-bit offset for Jcc
instruction.  So, as long as James doesn't need compatibility
with NASM 0.98.39 or some other older intermediate version, he's
all set.  NASM does what I suggested as a fix for short branches,
for the more recent versions.


Rod Pemberton

Back to alt.os.development | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-06-25 21:20 -0700
  Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-01 10:36 +0100
    Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-01 21:07 -0700
      Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-02 23:35 -0700
        Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-03 08:35 +0100
          Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-03 02:49 -0700
            Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-03 11:27 +0100
              Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-03 16:54 -0400
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-03 22:45 +0100
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-03 17:56 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-03 15:28 -0700
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-03 23:48 +0100
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-03 21:52 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-04 04:00 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-04 04:42 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-05 02:12 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-05 00:47 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-05 05:28 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-05 02:58 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-06 06:21 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-07 01:44 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-07 05:40 -0400
                Re: What form of executable or load module for your OS? "Kerr Mudd-John" <admin@127.0.0.1> - 2015-07-07 14:02 +0100
                Re: What form of executable or load module for your OS? "wolfgang kern" <nowhere@never.at> - 2015-07-07 18:13 +0200
                Re: What form of executable or load module for your OS? "Kerr Mudd-John" <notsaying@invalid.org> - 2015-07-08 12:54 -0100
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-09 13:19 +0100
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-07 22:10 -0700
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-08 08:48 +0100
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-08 23:53 -0700
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-09 17:29 +0100
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-10 01:01 -0700
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-10 13:46 +0100
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-10 00:59 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-08 03:52 -0400
                Re: What form of executable or load module for your OS? "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-08 06:46 -0700
                Re: What form of executable or load module for your OS? "James Harris" <james.harris.1@gmail.com> - 2015-07-09 13:16 +0100
                Re: What form of executable or load module for your OS? "s_dubrovich@yahoo.com" <s_dubrovich@yahoo.com> - 2015-07-11 09:57 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-13 02:47 -0400
                Re: What form of executable or load module for your OS? "s_dubrovich@yahoo.com" <s_dubrovich@yahoo.com> - 2015-07-14 07:39 -0700
                Re: What form of executable or load module for your OS? "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-07-15 02:37 -0400
        Code insanity "Mike Gonta" <mikegonta@gmail.com> - 2015-07-03 03:47 -0400
          Re: Code insanity "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-03 02:57 -0700
          Re: Code insanity (was: What form of executable or load module for your OS?) "James Harris" <james.harris.1@gmail.com> - 2015-07-03 11:35 +0100

csiph-web