Sattuisiko joku tietämään jotain yksinkertaista tapaa tehdä pieni viive assembly-ohjelmaan? Joku QBasicin WAIT &H3DA,8 -komentoa vastaava olisi kaikkein paras. Assembly kun on niin nopea, että animaation vaiheet eivät tahdo oikein näkyä...
Jos MASM:illa kääntelet niin:
mov dx, 3DAh
in al, dx
and al, 08h
jnz @B
@@:
in al, dx
and al, 08h
jz @B
Oho tuli virhe (ekalta riviltä puuttuu @@:)
Korjattu:
@@:
mov dx, 3DAh
in al, dx
and al, 08h
jnz @B
@@:
in al, dx
and al, 08h
jz @B
Miten joku voi edes osata tuommosta kieltä? :) Näyttää vaikealta.
ÖH! Pitääpä korjata taas kerran :X Näinhän se ois kaikista järkevin:
mov dx, 3DAh
@@:
in al, dx
and al, 08h
jnz @B
@@:
in al, dx
and al, 08h
jz @B
No onko erillaista tehdä NASM:illa
Siis TASM:illa
Öhh... vai kumpi se oli?
hyvin hyvin pienen viiveen saa :
nop
Mutta näitä mahtuu yhteen sekntiin erimäärä koneen hertsi vauhdista riippuen
Olipas Osmolla turha viesti ;) Saahan nyt viiveen vaikka:
inc eax
dec eax
neg eax
neg eax
Mutta koska senkin nopeus riippuu koneesta niin ei mitään hyötyä :) TASM:ille ja NASM:ille:
mov dx, 3DAh
_b1:
in al, dx
and al, 08h
jnz _b1
_b2:
in al, dx
and al, 08h
jz _b2
Jep, tuo toimii juuri niin kuin pitää. Kiitokset avusta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.