www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/03/22/15:01:49

From: Nate Eldredge <neldredge AT hmc DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: assembler probs
Date: 22 Mar 2001 11:46:37 -0800
Organization: InterWorld Communications
Lines: 55
Sender: nate AT mercury DOT st DOT hmc DOT edu
Message-ID: <83snk5d1sy.fsf@mercury.st.hmc.edu>
References: <99dc06$p3b$1 AT uranium DOT btinternet DOT com>
NNTP-Posting-Host: mercury.st.hmc.edu
Mime-Version: 1.0
X-Trace: nntp1.interworld.net 985290397 14522 134.173.57.219 (22 Mar 2001 19:46:37 GMT)
X-Complaints-To: usenet AT news DOT interworld DOT net
NNTP-Posting-Date: Thu, 22 Mar 2001 19:46:37 +0000 (UTC)
User-Agent: Gnus/5.0802 (Gnus v5.8.2) Emacs/20.5
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Michael Duxbury" <M DOT R DOT Duxbury AT btinternet DOT com> writes:

> I am trying to compile this but get a slight problem with the hello:   db
> 'Hello, world!'  line.
> 
> I can't seem to find an example of how the gcc compiler handles this part of
> assembly

info as (the assembler manual).  It should look like

hello:  .ascii "Hello, world!"

However, this won't work, because the int 21h functions need their
buffers in conventional memory, not in the upper-memory address space
of your program.  See FAQ chapter 18.  Your drawline function has a
similar problem.

Also, you've forgotten the terminating $.  And use either int 20h (no
special registers needed) or int 21h / ah=4ch (preferred), but not a
mix like you have; it's confusing.

> #include <stdio.h>
> 
> void drawline(int x1,int x2, int y, char color);
> 
> 
> int main()
> {
>   drawline(23,34,56,12);
>   }
> 
> void hello() {
>     asm ("movb  %ah,ox09;
>         movb     %dx,$hello;
>         intb     0x21;
>         movb     5ax,0x4c00;
>         intb     0x20;"
> 
>  hello:   db    'Hello, world!' )
>  }
> 

> void drawline(int x1,int x2, int y, char color)
> {
>   asm (" movb %ax , 0xa000");
> }
> 
> Anyone help me out please?
> 
> 

-- 

Nate Eldredge
neldredge AT hmc DOT edu

- Raw text -


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