Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: Asm ja merkkijonot

haxor [09.11.2002 21:00:23]

#

Olen tehnyt ohjelman joka odottaa käyttäjältä syötettä (Merkkijonoa), itseasiassa komentoa joka pitäisi olla echo "", jos kirjoittaa siihen esimerkiksi echo "kissa" niin miten saan tuon kissa:n talteen?

thefox [09.11.2002 21:36:53]

#

Saisiko hieman tarkempia tietoja ympäristöstä? DOS varmaankin, 16 bittistä koodia kenties?

haxor [09.11.2002 21:55:30]

#

DOS tietysti! 16-bittistä..

haxor [09.11.2002 21:56:36]

#

Tainno.. siitä siis ei tule dossin ohjelma.. eikä windowsin.. eikä linuxin.. vaan mun oman käyttiksen, jonka olen jo onnistunu boottaamaan

thefox [09.11.2002 22:01:55]

#

Jooh.. okei.. no yksinkertaisesti skannaat tuota merkkijonoa (joko mov al, [si] ja cmp:a tai repnz scasb) kunnes vastaan tulee "-merkki.
Sitten alat kopioida sitä merkkijonoa merkki-merkiltä siihen uuteen bufferiin kunnes vastaan tulee taas "-merkki.
Kyseenalaista on, mihin noita "-merkkejä tarvitaan, jos komennon syntaksi on aina tuo. Eikö olisi sama että syntaksi toimisi näin:
echo kissa
Silloin ei tarviisi kuin skannata tuohon väliin asti ja siinähän se olisi... vähän vaikea loppujen lopuksi mitään kunnon toteutusta tarjota kun ei tiedä mihin tätä tullaan käyttämään.

pohomon [16.11.2002 21:45:07]

#

lainaus:

Jooh.. okei.. no yksinkertaisesti skannaat tuota merkkijonoa (joko mov al, [si] ja cmp:a tai repnz scasb) kunnes vastaan tulee "-merkki.
Sitten alat kopioida sitä merkkijonoa merkki-merkiltä siihen uuteen bufferiin kunnes vastaan tulee taas "-merkki.
Kyseenalaista on, mihin noita "-merkkejä tarvitaan, jos komennon syntaksi on aina tuo. Eikö olisi sama että syntaksi toimisi näin:
echo kissa
Silloin ei tarviisi kuin skannata tuohon väliin asti ja siinähän se olisi... vähän vaikea loppujen lopuksi mitään kunnon toteutusta tarjota kun ei tiedä mihin tätä tullaan käyttämään.

mov al,[si] == lodsb?
:P

thefox [17.11.2002 15:01:51]

#

Voihan sen toki lodsb:lläkin hoitaa mutta nykypäivinä suosikaamme mov:eja :) Makukysymyshän se loppujen lopuksi on kummalla sen tekee, tuossa lodsb:illa saa sen inc:in siihen samaan käskyyn mutta ei se ole silti yhtään nopeampaa.
Tällasissa tapauksissa ehkä suositeltavinta olisi käyttää tuota scasb:tä rep-etuliitteellä.. :)

Vastaus

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

Tietoa sivustosta