(Look-up Table Data Register - LTDR) - 3


((color_table[iii]).blue>6) ?

color_table[iii].blue-1 : 1;

}

SetVgaDAC(seg_table,off_table);

}

//

SetVideoMode( 0x3 );

Hello();

return 0;

}

//===========================================================

// SetVideoMode

// , vmode

//===========================================================

void SetVideoMode( unsigned char vmode ) {

union REGS inregs, outregs;

inregs.h.ah = 0x0;

inregs.h.al = vmode;

int86( 0x10, &inregs, &outregs );

}

//===========================================================

// Hello

//===========================================================

void Hello(void) {

printf("\nCopyright (C)Frolov G.V.,1995. "

"E-mail: frolov@glas.apc.org\n");

}

SetVgaDAC, , 4.14.

4.14. DACTABLE.ASM

TITLE DACTABLE.ASM

NAME DACTABLE

PAGE 55,132

P286

IDEAL

NOWARN BRK

SEGMENT VGA_TEXT WORD PUBLIC 'CODE'

ASSUME cs:VGA_TEXT

;============================================================

;

; void SetVgaDAC(unsigned seg_table, unsigned off_table)

;============================================================

off_table EQU [bp+6]

seg_table EQU [bp+8]

PUBLIC SETVGADAC

PROC SETVGADAC FAR

enter 0, 0

; DS ES

push ds

push es

; ES

xor ax,ax

mov es,ax

;

; (3B4h/3D4h),

; 3B4h,