Mistähän mahtaa johtua, että en saa toimimaan seuraavanlaista kohtaa:
mov bl, [Taulukko + ax]
Monissa oppaissa tehdään juuri noin, mutta itse en saa tuota toimimaan. Se kyllä toimii, kun ax:n paikalle laittaa esim SI:n.
Lisäksi vielä, että onko järkevää käyttää paljon muuttujia asm ohjelmassa?
Mitähän virhettä assembleri heittää? Nuo pitäisi aina mainita jos jotain kysyy.. olet varmaankin koodisi alussa määritellyt .286, .386, .486, .586 tms.. viilaa sitä ylöspäin niin voi toimia.
Pakkohan toki muuttujia on käyttää, aikakriittisessä koodissa kannattaa kuitenkin yrittää selvitä rekistereillä niin pitkälle kuin mahdollista. Kannattaa myös muistaa että kunnon assemblereilla onnistuu myös paikallisten muuttujien käsittely helposti (pinosta).. ettei kaikkien muuttujien tarvitse olla globaaleja.
Joo eli TASM imoittaa virhettä:
"Illegal indexing mode"
On siinä tuo .386, mutta ei toimi sen kummemmin vaikka sitä nostaisi :(. Pitääköhän kääntää jollakin parametreilla?
Vai haittako kun koodin alussa on myös .model small, .stack 1024, .radix 16.
Varmaan siinä joku vipu on millä sen käyttöön saa koska kyllä tuon pitäisi toimia.. vaihda kunnon assembleriin.. :-) TASMista ei koskaan tiedä.. enkä jaksa itse alkaa testailemaan nyt.
Aihe on jo aika vanha, joten et voi enää vastata siihen.