December 15, 2001
Jo, såhär är det:
Jag har nyss börjat med ASM bla bla bla...
Här är problemet:
Som första program så håller jag på med ett eld prog, vilket ju är simpelt
Jag har bytt skärmläga, initierat paletten så att den ser bra ut, ritar "slumpmässiga" punkter längst ner på skärmen...Fast nästa steg är lite problematiskt:
Att fada.
Ok, jag har funderat ut en bra matris o så:
+---+---+---+
| | | |
+---+---+---+
| | * | |
+---+---+---+
| * | * | * |
+---+---+---+
lägg ihop rutor med stjärna i, och shift två bits åt höger = dela med fyra
Den där vet jag att den funkar, för jag har använt den i C++(DJGPP)...
Så då ser min pseudo-asm kod ut såhär:
bx = offset i buffern(256Y + 64Y + X)
Buffer = 64000 bytes
mov ax, [Buffer + bx] add ax, [Buffer + bx + 319] add ax, [Buffer + bx + 320] add ax, [Buffer + bx + 321] sar ax, 2
mov [Buffer + bx], ax
Det ska ju logiskt sett funkar...Men det är ett litet prob:
mov ax, [Buffer + bx]
ger "Illegal index mode"
mov ax, [Buffer + 1]
funkar...
Om jag ändrar Buffer till 32000 words, så blir det fortfarande fel...
För tuten jag förljer säger att man gör så för att..Ja...Komma åt i arrays
Använder TASM
1 Guest(s)