Luke writes:
> 
> 
> 
> 
> On Mon, 21 Jun 1999, Alistair Riddoch wrote:
> 
> > Luke writes:
> > > 
> > > 
> > > Can some clever chap (or chapess) tell me what is wrong with this:
> > > It is supposed to print the letter A to the screen..... But it doesn't.
> > > 
> > > export    _main
> > > _main:
> > >   mov     eax,#4
> > >   mov     ebx,#1
> > >   mov     ecx,#13
> > >   mov     edx,#1
> > >   int     $80
> > > 
> > >   mov     eax,#1
> > >   int     $80
> > > .data
> > > .bss
> > > 
> > > 
> > 
> > Very nearly, but not quite. Here is a version that works:-
> > 
> > export  _main
> > _main:
> >     mov     eax,#4
> >     mov     ebx,#1
> >     mov     ecx,#opstr
> >     mov     edx,#1
> >     int     $80
> > 
> >     mov     eax,#1
> >     int     $80
> > .data
> > opstr:
> >     .ascii "A"      
> > .bss
> > 
> > 
> > You need to pass a a pointer to the message to the kernel. What were you
> > trying to do when you passed #13?
> 
> Ta. It should have been 65...
> Luke(Boo) Farrar.
> 

It didn't occur to me until I had actually fixed the program and test it
that we don't usually use the three letter notation for registers. For
16bit code they are usually just refered to by two letter name ax, bx, cx
etc.

Al

Reply via email to