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?
Saisiko hieman tarkempia tietoja ympäristöstä? DOS varmaankin, 16 bittistä koodia kenties?
DOS tietysti! 16-bittistä..
Tainno.. siitä siis ei tule dossin ohjelma.. eikä windowsin.. eikä linuxin.. vaan mun oman käyttiksen, jonka olen jo onnistunu boottaamaan
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.
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
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ä.. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.