Hello world 16-bittisille x86 ms-dossille

Entropia 16.09.03 11:33

Käytä nasmia (http://nasm.sourceforge.net)

 Tekstiversio  Arvo: 1 (6 ääntä)  Äänestä: +  -
org 100h                        ; .com-ohjelma

section .text

start:
  mov dx, teksti                ; Siirretään tekstin osoite dx-rekisteriin

  mov ah, 9h                    ; Stringin ulostus alifunkkari
  int 21h                     ; Luodaan keskeytys 21h

  mov ax, 4C00h  ; Poistumis alifunktio
  int 21h                     ; Luodaan keskeytys 21h


section .data
teksti db "Hello world! pikkumyylle terkkuja.$"
 

cooz 13:05 16.9.03 
Näinhän se toimii. Kommenteista voisin sen verran sanoa, että eiköhän sinne dx-rekisteriin kumminkin siirretä sen teksin osoite eikä koko tekstiä, saa aika hyvin pakata että 16-bittiseen rekisteriin toista kymmentä merkkiä saa ;)
Entropia 13:49 16.9.03 
Aivan kyllä juu :) Nyt on virhe korjattu, vielä kun varmistuisi siitä onko se "osoite" offsetti niin kaikki olisi kondiksessa...
thefox 16:47 17.9.03 
Siistiä koodia, vinkin luonteesta johtuen en voi kuitenkaan taipua 2:sta suurempaan ääneen ;-)

"vielä kun varmistuisi siitä onko se "osoite" offsetti niin kaikki olisi kondiksessa..."
real-moden segmentoidussa arkkitehtuurissa muistiosoite koostuu segmentistä ja offsetista näin: osoite = segment*16+offset
"Exe"lent 14:46 23.9.03 
mist assemblyn saa?
empty 17:52 23.9.03 
"Exe"lent: Tietty Assemblyiltä, tai sit voit ladata W4R3ZZZ serveriltä...
empty 17:54 23.9.03 
oikeasti yhden parhaista ilmaisista assemblereista saa nasm.sourceforge.net:stä..
kurz 19:19 12.1.04 
Mihin tota section .data tarvitaan, vai onko se vain joku "nimitys" tj. Toimii ilmankin
appina 21:49 11.1.05 
Vaatiiko tämä assembly ohjelma dossin alleen vai toimiiko tuo ilman minkäänlaista käyttistä. Esim. voisiko tuollaista koodipätkää käyttää omassa käyttiksessä tulostaakseen jonkin tekstin.
Jake-san 16:34 2.2.05 
Eiköhän prosessorikomennot ole käyttöjärjestelmästä riippumattomia
Maniace 21:15 29.5.05 
Njoo mutta tuossa käytetään DOS-keskeytyksiä, tee sama BIOS-keskeytyksillä niin toimii.
Black Anathema 23:57 24.8.07 
kurz kirjoitti:
Mihin tota section .data tarvitaan, vai onko se vain joku "nimitys" tj. Toimii ilmankin


Eikö se luo data segmentin erikseen koodi tai teksti segmentistä??