2012-12-29 59 views
2

我點一個像素右下一個像素,但結果是不同的。第二個像素距離第一個像素很遠。點2像素在一起

怎麼了?

org 100h 
;change to 320x200 graphic mode 
mov ax, 13 
int 10h 

;frame buffer location 
push 0xa000 
pop es 
xor di, di 

;dot 2 pixels 
mov ax, 1 
mov [es:di], ax 
inc di 
mov [es:di], ax 

;prevent ending 
a: 
jmp a 

謝謝!

回答

5

有兩個錯誤。

首先,8位/像素的BIOS 320x200是視頻模式13h19d),而不是13d

要解決這個問題:

mov ax,13h 
int 10h 

另一個錯誤是你寫的,而不是axal顯存。與al或任何其他8位寄存器(ahblbhclchdldh)更換ax

mov al,1 
mov [es:di],al 
inc di 
mov [es:di],al 

應該這樣做。

相關問題