www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/07/20/07:30:17

From: "Tom St Denis" <tomstdenis AT yahoo DOT com>
Newsgroups: comp.os.msdos.djgpp
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1010719172847 DOT 2839B-100000 AT is> <3b580b15$0$274$bb624dac AT diablo DOT uninet DOT ee>
Subject: Re: pokeb peekb
Lines: 57
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2462.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000
Message-ID: <ywU57.18872$2V.4229122@news3.rdc1.on.home.com>
Date: Fri, 20 Jul 2001 11:23:10 GMT
NNTP-Posting-Host: 24.112.8.23
X-Complaints-To: abuse AT home DOT net
X-Trace: news3.rdc1.on.home.com 995628190 24.112.8.23 (Fri, 20 Jul 2001 04:23:10 PDT)
NNTP-Posting-Date: Fri, 20 Jul 2001 04:23:10 PDT
Organization: Excite AT Home - The Leader in Broadband http://home.com/faster
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Tonu Aas" <tonu AT ids DOT ee> wrote in message
news:3b580b15$0$274$bb624dac AT diablo DOT uninet DOT ee...
> > > > >     And I think that djgpp is not the best choise to produse
> > > smallest/fastest program to show 01h on screen.
>
> > Who cares about the startup code?  You don't meant to say that someone
> > would actually write a program that just puts the character in the
middle
> > of a screen and exits, do you?  Who would need a ridiculous toy program
> > like that?  That's even less useful than the proverbial hello world.
>
> The question was:
>
> 1) what's the shortest complete program that pokes a face (ascii 1)
>    into the exact middle of the screen and exits to DOS ?
> 2) what , if it has to be fast (~50 cycles)
> 3) what , if it is required to compile on a large variety of compilers ?
>
> So - djgpp is not the best choise. And it's not stupid thread.
> It's about choosing right compiler for solving problem.
> And for that DJGPP is not the best. But for other a little bit more
complex
> programs it's good and for more complex programs it's best.
>
> For example: Borland compiler 12116 bytes; and portable.
> #include <conio.h>
> ------------------------------------------
> void main(void)
>  {
>   struct text_info info;
>
>   gettextinfo(&info);
>   gotoxy(info.screenwidth/2, info.screenheight/2);
>   putch(0x01);
>  }
> -------------------------------------------
>
> BTW. Your result is good too.

I doubt that's 50 cycles though.  Recall that the C lib startup code is
probably around a 1000 cycles.  what you want is some trivial asm program
like

[bits 16]
[section .text]
[org 100h]
mov ax,0b800h
mov ds,ax
mov [_whatever_screen_location],1
ret

Which is at worse around 5 cycles on my athlon.

Tom


- Raw text -


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