home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_08_10
/
8n10103c
< prev
next >
Wrap
Text File
|
1990-08-20
|
984b
|
19 lines
asm(" push es"); /* save es */
asm(" mov ax, 034h"); /* use Phar Lap LDT to access real */
asm(" mov es, ax");
dx = 0x3CE; /* EGA graphics address register */
ebx= 655360 + ((y*colx+x) >> 3); /* memory position of pixel */
asm(ebx, " mov cl, byte ptr es:[ebx]"); /* load EGA registers */
ax = color << 8;
asm(dx, ax, " out dx, ax"); /* set color */
ax = 0x0F01;
asm(dx, ax, " out dx, ax"); /* enable */
ax = 0x0003; /* 0x00 = replace, 0x10 OR, 0x18 XOR, 0x08 AND */
asm(dx, ax, " out dx, ax"); /* pixel write mode */
ax = ((0x80 >> (x % 8)) << 8 ) + 8;
asm(dx, ax, " out dx, ax"); /* bit mask (8 pixels/byte) */
asm(ebx, " mov byte ptr es:[ebx], 255"); /* write EGA registers */
asm(" pop es"); /* restore es */