linux-assembly.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tu Ha <httu@tma.com.vn>
To: linux-assembly@vger.kernel.org
Subject: please help me
Date: 24 Apr 2006 06:11:31 -0400	[thread overview]
Message-ID: <1145873491.3998.17.camel@gaucon> (raw)

Hi,
I am a beginner writing a boot loader. I use gas to write it and got a
weird issue. The following code just try to show out the screen the
symbol "1" ten times

.code16
.section .text
.globl _start
_start:
        movw    $STACK_SEGMENT, %sp
        movw    %sp, %ss
        movw    $STACK_SIZE, %sp
        pushw   %cs
        popw    %ds
        pushw   $SCREEN_SEGMENT
        popw    %es
        jmp     show_banner
 
show_banner:
        movb    $0x07, %ah #white on black
        movb    char, %al  #show this char
        movw    $10,  %cx  #show this char 10 times
        movw    $0, %di    #show at 0,0
run_banner:
        movw    %ax, %es:(%di)
        inc     %di
        inc     %di
        loop    run_banner
 
die:    jmp     die
 
#.section .data
char:   .ascii "1"
.org 510
boot_flag:      .word 0xAA55
                                                                                                                             
#constants
.equ STACK_SEGMENT     , 0x9000      # Top of conventional memory
.equ STACK_SIZE        , 0xffff      # 64K - 1 bytes of stack
.equ SCREEN_SEGMENT    , 0xb800



However, when running, it shows out a symbol in the extend ascii table
instead of "1" !!!?
It seems I cannot reference to the "char" memory location. Why?

How can I debug the binary?

Any help is appreciated.

Tuha.


             reply	other threads:[~2006-04-24 10:11 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-24 10:11 Tu Ha [this message]
2006-04-24  4:11 ` please help me Frank Kotler
2006-04-24 12:09   ` Tu Ha
     [not found] <000101c6734a$573086d0$c41e1ec7@TuThuyHa>
2006-05-09 16:17 ` Frank Kotler
2006-05-10 14:05   ` httu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1145873491.3998.17.camel@gaucon \
    --to=httu@tma.com.vn \
    --cc=linux-assembly@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).