delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/14/13:45:20

From: Ian Chapman <ichapman AT nortel DOT ca>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Assembly
Date: Fri, 14 Nov 1997 12:46:43 -0500
Organization: Nortel
Message-ID: <346C8E83.B42@nortel.ca>
References: <64hnus$dr9 AT mtinsc02 DOT worldnet DOT att DOT net>
Reply-To: ichapman AT nortel DOT ca
NNTP-Posting-Host: bcarib90.bnr.ca
Mime-Version: 1.0
Lines: 30
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Me wrote:
> 
> I'm trying to learn Assembly and I'm having a problem.  The tutorial(s) I'm
> reading on Assembly are all meant for TASM Assembler and I'm attempting to
I HAVE NOT IDEA AS TO WHAT THESE ASSEMBLERS ARE.
> do the compiling with NASM Assembler.  Now, I believe I can figure out the
> syntax differences but, my problem is understanding the differences between
> 16 bit real mode and 32 bit protected mode.  For example, this piece of code

GET AN INTEL HARDWARE MANUAL FOR THE PROCESSOR.  PROTECTED/REAL MODE IS
AN 
80XXX THING ONLY.  THE 8088 THEIR 1ST FAMILY MEMBER HAD SEGMENT
REGISTERS.
THESE WERE EXPANDED INTO A MEMORY MANAGEMENT SET UP WITH THE 80286.  I
THINK
ALL THESE PROCESSORS START UP IN REAL (8088) MODE AND ONCE YOU SET UP
THE
SEGMENT REGS/MEMORY MANAGEMENT STUFF AWAY YOU GO IN PROTECTED MODE.  THE
8088, 
8086 AND 80286 ALL HAD 64k SEGMENTS.  THE SEGMENT SIZE COULD BE SET ON
THE 
80386 FROM 1 BYTE TO A MAX OF YOUR MEMORY SIZE.  THIS WAS A GOOD MOVE AS
IT 
GOT THE INTEL OUT OF SEGMENTATION.  IF YOU DO NOT GET THE
SEGMENT/MANAGEMENT
STUFF SET UP YOU BOMB.

> is supposed to print "hello world" to the screen (and yes, I know a printf
> function in C would be much easier but, just entertain me, ok...?)
>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019