我在第一个像素旁边点了一个像素但结果却不同了。第二个像素远离第一个像素。
怎么了?
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
谢谢!
答案 0 :(得分:5)
有两个错误。
首先,8位/像素的BIOS 320x200是视频模式13h
(19d
),而不是13d
。
修复它:
mov ax,13h
int 10h
另一个错误是您将ax
而不是al
写入视频内存。将ax
替换为al
或任何其他8位寄存器(ah
,bl
,bh
,cl
,ch
, dl
,dh
):
mov al,1
mov [es:di],al
inc di
mov [es:di],al
应该这样做。