将 2 个像素点在一起

2024-03-06

我在第一个像素的右边点了一个像素,但结果不同。第二个像素距离第一个像素很远。

怎么了?

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(使用前将#替换为@)

将 2 个像素点在一起 的相关文章

随机推荐