我在第一个像素的右边点了一个像素,但结果不同。第二个像素距离第一个像素很远。
怎么了?
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
thanks!
有两个错误。
首先,BIOS 320x200 at 8 位/像素是视频模式13h
(19d
), not 13d
就像你一样。
要解决这个问题:
mov ax,13h
int 10h
另一个错误是你写的ax
代替al
到视频内存。代替ax
with al
或任何其他 8 位寄存器(ah
, bl
, bh
, cl
, ch
, dl
, dh
):
mov al,1
mov [es:di],al
inc di
mov [es:di],al
应该可以做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)