giovedì 3 maggio 2012

Effetto Matrix in assembly per 8086

Effetto MATRIX in assembly

Di seguito è riportato il codice assembly per 8086 che genera la caduta delle lettere dall'ultima posizione dello schermo alla prima.
Per realizzare il seguente programma è stato utilizzato il segmento dedicato al video della finestra di debug per elaborare i dati, gli altri segmenti quali codice, stack e di supporto sono stati lasciati invariati.

Programma principale scritto nella locazione di memoria 100:
MOV AX,B800
MOV DS,AX
MOV DX,0720
MOV SI,F9E
MOV CX,[SI]
CMP CX,DX
JE 140
CALL 300
PUSH SI
SUB SI,A0
MOV AH,0
ADD SI,A0
MOV DI,0000
ADD DI,SI
ADD DI,A0
MOV [DI],CX
MOV [SI],DX
INC AH
CMP AH,AL
JNE 138
ADD SI,A0
MOV [SI],DX
CALL 200
CMP AH,AL
JB 11B
POP SI
SUB SI,2
CMP SI,0000
JA 010B 
INT 3


Primo sottoprogramma scritto nella locazione di memoria 200:
PUSH AX
PUSH BX
CALL 300
MOV AH,FF
SUB AH,10
DEC AL
CMP AL,0
JNE 207
MOV BX,FFFF
SUB BX,1
CMP BX,0
JNE 213
SUB AH,1
CMP AH,0
JNE 210
POP BX
POP AX
RET

Secondo sottoprogramma scritto nella locazione 300:
PUSH BX
MOV BX,SI
MOV AL,00
INC AL
ADD BX,A0
CMP BX,F9E
JB 305
POP BX
RET 

----------------------------------------------------------------------------------------------------

Ti è piaciuto questo post? :)

Lascia un tuo commento se questo articolo ti è stato utile.



----------------------------------------------------------------------------------------------------
Seguici su:
Facebook | Twitter
----------------------------------------------------------------------------------------------------

0 commenti:

Posta un commento

Ti potrebbe anche interessare: