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


Groups > comp.os.msdos.programmer > #1024

Re: Newb questions on DOS

From Ross Ridge <rridge@csclub.uwaterloo.ca>
Newsgroups comp.os.msdos.programmer
Subject Re: Newb questions on DOS
Date 2011-01-30 15:40 -0500
Organization University of Waterloo
Message-ID <ii4icr$9br$1@rumours.uwaterloo.ca> (permalink)
References <ihksak$20g$1@rumours.uwaterloo.ca> <T4LKX28040568.7428125@reece.net.au> <ihmtqq$3pj$1@rumours.uwaterloo.ca> <91ad514e-1122-41f5-9746-0b70d232ed81@d1g2000yqb.googlegroups.com>

Show all headers | View raw


Rugxulo  <rugxulo@gmail.com> wrote:
>Say what? 8086 instructions range from one byte to six, max. 286 goes
>up to ten, 386 goes up to fifteen bytes. It definitely makes a
>difference, 16-bit is always smaller (30-50%), in my experience.

If you're using only 8-bit instructions then the code is going to be the
same length.  If you're only using 16-bit instructions then the the 16-bit
code will be shorter.  If you're using 32-bit arithmetic, well then the
16-bit code will be way bigger.  In pratice with hand coded assembler
you're not going to get huge code size savings with 16-bit over 32-bit.

>It wasn't that bad. Hindsight is always 20/20, and I'm sure I too
>would change a few minor things, but overall it worked, and that's all
>that matters.

Except there was the example of the 68000, which while not perfect
(big-endian, yuck), showed only a year later that at the time you could
design a decent architecture, even if you couldn't fully implement it
(ie. a 32-bit instruction set, but only a 16-bit ALU).

>But I don't think ARM is that perfect either as even they have
>a bunch of different revisions. (Easier to learn? With no DIV
>instruction??? Yuck. Nobody's perfect.)

Better than the 8086 processor you're defending that doesn't even have
a 32-bit add instruction.

>And just to close out, let me defend the 8086 (God knows
>why) with my favorite platitude:  "A poor carpenter blames his
>tools."    :-))

I've done enough 16-bit real-mode assembler programming.  Nice compact
sequeezed-every-byte-I-could-out-of-it code.  I've also successfuly
completed several repair jobs around the house with whatever tools
I had handy.  That doesn't mean I had to like it, or recommend it to
anyone else when better tools for the job are easily available.

There just isn't a lot to recommend about 16-bit 8086 assembly.  Unless
you need to write real-mode code for some specific purpose, you're better
off learning just about anything else that's still in general use today.

				Ross Ridge

-- 
 l/  //	  Ross Ridge -- The Great HTMU
[oo][oo]  rridge@csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/ 
 db  //	  

Back to comp.os.msdos.programmer | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: Newb questions on DOS Rugxulo <rugxulo@gmail.com> - 2011-01-28 00:32 -0800
  Re: Newb questions on DOS Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-01-30 15:40 -0500

csiph-web