www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/25/23:36:24

From: kccheng AT hep2 DOT phys DOT sinica DOT edu DOT tw (Kuang-Chun Cheng)
Newsgroups: comp.os.msdos.djgpp
Subject: 16 bit asm code (using as)
Date: 25 Nov 1996 20:01:18 GMT
Organization: Computing Center, Academia Sinica
Lines: 26
Message-ID: <57ctue$li@gate.sinica.edu.tw>
NNTP-Posting-Host: kccheng AT hep2 DOT phys DOT sinica DOT edu DOT tw
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi,

    Does as know the segment:offset address mode while in 16 bit mode (by
added a directive .code16) ?  If as only know flat address, how can I
use BIOS int 0x10 Funciton 0x13 to write string to screen?  For example,
I have the following code,

      ...
      .code16
      movw    $0x1301, %ax
      movw    $0x0007, %bx
      movw    $0x0005, %cx
      movw    $0x0000, %dx
      movw    msg, %bp
      int     $0x10
msg:
      .string "Hello"

Since int 0x10 will reference the string by %es:%bp, well, if my %es is not
zero and as doesn't know segment:offset, it seems I can't get Hello print on
screen.  In fact, I did not print out anything on my screen but the cursor
did move.   Any suggestion and help is appreciated, Thanks a lot.

    Kuang-chun Cheng
    kccheng AT hep2 DOT phys DOT sinica DOT edu DOT tw

- Raw text -


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