hola, profe quería preguntar sobre el ejercicio 2 del tema 4 debo pasar de mario a luigi , cambiando los colores del sprite o debe hacer de otra forma en el código ??? Y como elegir las posiciones del pixel de color rojo si estas varían según el código q va desde arriba hacia abajo ???
;1.2 Mario y Luigi
;a) Abra el ejemplo “Draw Sprite” (Para ello, vaya a “File”, luego a “Samples”, luego a
;“Draw Sprite”).
;b) Ensamble y ejecute el programa. El mismo dibuja un “Mario Bross” por pantalla.
;c) Modifique el código de manera que en lugar de Mario Bross, el programa dibuje a
;Luigi (Luigi tiene traje verde en lugar de traje rojo). El cambio de color debe
;realizarse a nivel de código, no a nivel de constantes
JMP boot
vslDisplay EQU 0x300
sprite:
DB "\xFF\xFF\xFF\xFF\xFF\xC4\xC4\xC4"
DB "\xC4\xC4\xFF\xFF\xFF\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\xFF\xC4\xC4\xC4\xC4"
DB "\xC4\xC4\xC4\xC4\xC4\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\xFF\x8C\x8C\x8C\xF4"
DB "\xF4\x8C\xF4\xFF\xFF\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\x8C\xF4\x8C\xF4\xF4"
DB "\xF4\x8C\xF4\xF4\xF4\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\x8C\xF4\x8C\x8C\xF4"
DB "\xF4\xF4\x8C\xF4\xF4\xF4\xFF\xFF"
DB "\xFF\xFF\xFF\x8C\x8C\xF4\xF4\xF4"
DB "\xF4\x8C\x8C\x8C\x8C\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\xFF\xFF\xF4\xF4\xF4"
DB "\xF4\xF4\xF4\xF4\xFF\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\xFF\x8C\x8C\xC4\x8C"
DB "\x8C\x8C\xFF\xFF\xFF\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\x8C\x8C\x8C\xC4\x8C"
DB "\x8C\xC4\x8C\x8C\x8C\xFF\xFF\xFF"
DB "\xFF\xFF\x8C\x8C\x8C\x8C\xC4\xC4"
DB "\xC4\xC4\x8C\x8C\x8C\x8C\xFF\xFF"
DB "\xFF\xFF\xF4\xF4\x8C\xC4\xF4\xC4"
DB "\xC4\xF4\xC4\x8C\xF4\xF4\xFF\xFF"
DB "\xFF\xFF\xF4\xF4\xF4\xC4\xC4\xC4"
DB "\xC4\xC4\xC4\xF4\xF4\xF4\xFF\xFF"
DB "\xFF\xFF\xF4\xF4\xC4\xC4\xC4\xC4"
DB "\xC4\xC4\xC4\xC4\xF4\xF4\xFF\xFF"
DB "\xFF\xFF\xFF\xFF\xC4\xC4\xC4\xFF"
DB "\xFF\xC4\xC4\xC4\xFF\xFF\xFF\xFF"
DB "\xFF\xFF\xFF\x8C\x8C\x8C\xFF\xFF"
DB "\xFF\xFF\x8C\x8C\x8C\xFF\xFF\xFF"
DB "\xFF\xFF\x8C\x8C\x8C\x8C\xFF\xFF"
DB "\xFF\xFF\x8C\x8C\x8C\x8C\xFF\xFF"
boot:
MOV C, sprite ; C points to the sprite
MOV D, vslDisplay ; D points to the fb
.loop:
MOVB AL, [C] ; Print all the pixels
MOVB [D], AL
INC C
INC D
CMP D, 0x400
JNZ .loop
HLT