VGA 프로그래밍인데 이해가 도저히 안되서 여기에 회원가입하자 마자 올립니다~!
맨 아래 set_palette 함수 부분에서요~
io_out8(0x03c9, rgb[0] / 4) 이란 부분에서 왜 4로 나누는지 이해가 안됩니다.
어떤 분이 말씀하시길
"io_out8(int port, int data);
data 타입이 정수인데, 바이트 데이타를 그대로 넣어 버리면 al 에 원하는 값이 들어가지 않습니다.
4로 나누어서 넣으세요."
라고 하셨는데 왜 4죠? 상세한 설명 해주실분 없으신가요?
io_out8:
mov edx, [esp+4] ;port
mov al, [esp+8] ;data
out dx, al
ret