2017-03-15 1 views
0

Ich versuche, ASM-Code zu erstellen, der eine BMP-Datei mit 256 Farben lädt und druckt.
Ich sah mehrere Codes, die diesen Job erledigen, und laden zuerst 0 auf Port 3c8h und laden dann die Palette auf Port 3c9h.
Was bewirkt die Belastung dieser Ports?
Danke dazu! :)ASM: Was macht Port 3c8h & 3c9h?

+2

Sie steuern den DAC auf der Video-Hardware. –

+0

@MichaelPetch Danke! – Idan

+1

Weitere Informationen: [http://www.osdever.net/FreeVGA/vga/vga.htm](http://www.osdever.net/FreeVGA/vga/vga.htm). Besonders [hier] (http://www.osdever.net/FreeVGA/vga/vgadac.htm) und [hier] (http://www.osdever.net/FreeVGA/vga/colorreg.htm#3C8). –

Antwort

1

Ich erinnere mich, mit diesen Ports VGA-Farbpalette einrichten. Sie aus der Farbzahl auf 3C8 und R, G, B-Werte auf 3C9 nacheinander IIRC:

mov al, 1 ; set color index 0's rgb value 
out 3c8h, al 
mov al, 11h 
out dx, al ; set R = 11h 
mov al, 22h 
out dx, al ; set G = 22h 
mov al, 33h 
out dx, al ; set B = 33h 

so, wenn VGA-Hardware der Wert „1“ in dem Videospeicher trifft es auf einen Pixel mit einem RGB-Wert emittieren würde, # 112233.