Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Assembly: Ruudun tyhjennys

Sivun loppuun

HtH [29.06.2002 13:15:04]

#

Jee, kerrankin onnistuin tekemään jotain HIENOA assemblerilla ;). Eli pieni, nopea ruudun tyhjennys assemblerilla. QB ohjelmoijat voivat helposti muuntaa tuon .qlb kirjastoksi, muutttaa ton CLS: rivin PROC cls:ksi, tai jotenkin sinne päin... tsekatkaa fawkzin vinkki. Mut kuitenkin, tässäpä se koodi pitemmittä löpinöittä on!

dosseg
.MODEL TINY
.stack 10h
.CODE

mov ax, 0B800h
mov es, ax
xor di, di
mov cx, 7D0h
mov ax, 0h
rep stosw

mov aH, 4Ch ;Lopetetaan ohjelma
int 21h

end

HtH [30.06.2002 16:55:17]

#

No voi hitsi, tuolta välistä unohtu rivi; mov di, 0 mutta toimii tuo koodi ilman sitäkin, se vain on, jos di rekisteriin on jäänyt jotain muuta, kuin 0...

HtH [30.06.2002 17:26:44]

#

Mä jo vähä ihmettelin, miten tuo koodi niin kummalliselta näytti(edellinen kommentti) mutta olin laittanut vanhan version koodistani, mikä on täysin toimimaton, ja korjattunakin olisi ollut hidas. Tässäpä sitten OIKEA koodi:

dosseg
.MODEL TINY
.stack 10h
.CODE

mov ax, 0B800h
mov es, ax
xor di, di
mov cx, 7D0h
mov ax, 0h
rep stosw

mov aH, 4Ch ;Lopetetaan ohjelma
int 21h

end

Antti voipi sitten vaihtaa tämän koodin tuon tilalle, jos vain jaksaa.

Antti Laaksonen [30.06.2002 18:50:40]

#

Nyt koodin pitäisi olla oikein. Ja hienoa, Assembly-alue avattu!

arcatan [21.07.2002 18:11:44]

#

NASM versio:

Poista:

dosseg
.MODEL TINY
.stack 10h
.CODE

Tilalle:

[BITS 32]
[SECTION .text]

arcatan [22.07.2002 15:16:57]

#

tuli viimeksi pieni virhe, oikea korjaus on tälläinen

[BITS 16]
[ORG 0x100]
[SECTION .text]

tejeez [27.07.2003 21:34:31]

#

Juu mistä sen nasmin saa?

bob [22.12.2003 13:59:10]

#

http://nasm.sourceforge.net/

Dude [18.08.2007 19:18:12]

#

Käänsin debugilla.

mov ax, 0B80
mov es, ax
xor di, di
mov cx, 7D0
mov ax, 0
rep stosw
mov aH, 4C
int 21

Edit: Yritin yhdistää yhteen ohjelmaan ja se kyllä toimii mutta sitte näytölle ei tulostu mitää.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta