[turbo c++] wysyłanie palety kolorów do karty graficznej

0

Nie moge sobie poradzić z przerobieniem tej instrucji (z turbo pascala) tak aby działała pod TC++ 3.1. Szukałem w pomocy, ale nie znalazłem odpowiednika funkcji "port".

port[$3c9] := liczba shr 2;

Mam też taki kod w asm ale nie umiem go przerobic dla swoich potrzeb, ponad to kompilator uważa ze nie zna instukcji "shr".

;---=== ustawia palete ===---
; ds:di - koniec palety w formacie BMP (b, g, r, null) << 2
paleta  PROC
        mov     cx, 256       ;tyle kolorow
ustaw_kolor:
        sub     di, 4         ;zmienia na poprzedni kolor
        mov     dx, 03c8h     ;port ustawienia koloru
        mov     ax, cx
        sub     ax, 1         ;zmiana koloru o 1 mniejszego od licznika petli
        out     dx, al        ;bedzie zmieniac kolor al
        mov     dx, 03c9h     ;rgb wysyla sie do 03c9h
        mov     al, [di + 2]  ;skladowa czerwona
        shr     al, 2         ;przesuniesie o 2 bity w prawo - taki format
        out     dx, al
        mov     al, [di + 1]  ;skladowa zielona
        shr     al, 2         ;przesuniesie o 2 bity w prawo - taki format
        out     dx, al
        mov     al, [di + 0]  ;skladowa niebieska
        shr     al, 2         ;przesuniesie o 2 bity w prawo - taki format
        out     dx, al
        loop    ustaw_kolor
        ret
        ENDP

rozkazy ENDS

Proszę o pomoc :(

0

inportrb/inport outportb/outport (dos.h)
intp/inpw outp/outpw (conio.h)

0

outport - właśnie o to chodziło, dziękuje ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1