为什么用汇编在设置调色板时,颜色分量要这样处理《代码如下:
mov dx,03c8h
mov ax,di
out dx,al
mov dx,03c9h
mov al,byte ptr[si+2]
push bx
mov bl,63
mul bl
mov bl,0ffh
div bl
pop bx
out dx,al
mov al,byte ptr[si+1]
push bx
mov bl,63
mul bl
mov bl,0ffh
div bl
pop bx
out dx,al
mov al,byte ptr[si]
push bx
mov bl,63
mul bl
mov bl,0ffh
div bl
pop bx
out dx,al
add si,4
inc di
就是不明白为什么还要乘除
------解决方案--------------------------------------------------------
看着好像是你的 [si] 处的分量是 0-255 范围的即 8 位每分量,但显示端口要求的是 0-63 范围即 6 位每分量。