CD_OUT_SRC/640X480.ASM
2021-09-03 17:50:32 +02:00

73 lines
1.0 KiB
NASM

_TEXT SEGMENT BYTE PUBLIC 'CODE'
ASSUME CS:_TEXT
PUBLIC _VUELCA_PANTALLA_B
_VUELCA_PANTALLA_B PROC NEAR
PUSH BP
MOV BP,SP
PUSH AX
PUSH BX
PUSH CX
PUSH DI
PUSH DS
PUSH DX
PUSH ES
PUSH SI
LDS SI,[BP+4]
MOV AX,0A000h
MOV ES,AX
MOV DI,0
MOV AH,00010001b
MOV DX, 480
CLD
SIG_LINEA: MOV BX,4
SON_4_PLANOS: PUSH AX
PUSH DX
MOV DX,3C4H ;MASCARA DE PLANOS
MOV AL,2
OUT DX,AX
POP DX
POP AX
MOV CX,80
LINEA: MOV AL,ES:[DI]
MOVSB
CMP SI,0
JNZ MISMO_SEG
MOV BP,DS
ADD BP,1000h
MOV DS,BP
MISMO_SEG: LOOP LINEA
SUB DI,80
ROL AH,1
DEC BX
JNZ SON_4_PLANOS
ADD DI,80
DEC DX
JNZ SIG_LINEA
POP SI
POP ES
POP DX
POP DS
POP DI
POP CX
POP BX
POP AX
POP BP
RET
_VUELCA_PANTALLA_B ENDP
_TEXT ENDS
END