【发布时间】:2012-09-15 14:08:32
【问题描述】:
我正在制作一个 DOS 图片查看器。对于下一部分,我必须对其进行设置,以便它找到每个像素的值,然后将其发送到我正在使用的文件 AH=40 INT 21 将其发送到文件,但数据必须在程序中,但我正在使用AH=0D INT 10 查找像素的颜色并将其保存在寄存器中。我需要使文件中的一个字节成为寄存器的值。我可能需要做一些类似数据库“reister value”的事情。换句话说,我需要将地址 0250 设为 AL 的值,或者将寄存器值发送到 RAM。我在 'AH=0 AL=13 INT 10' 64000 像素 256 色中运行
【问题讨论】:
-
是的,您可以逐个读取像素并将它们存储到内存中(
mypixel db 0在您的数据段中,mov [mypixel], al和点ds:dx在mypixel)。但由于您似乎使用的是 13h 模式,您可以直接写入像素(64000 像素位于 0a000:0000)。 -
我检查了 0A000:0000 并没有发现任何东西(我对 Segments 不太好,顺便说一句,我在汇编中写这个,所以我无法创建我的像素变量它只是具有像素值的寄存器 AL跨度>
-
尝试发布您所拥有的和遇到问题的最小代码 sn-p,这样可以更轻松地提出建议。另外请明确您使用的是哪种视频模式,是 13h 320x200 256 色还是文本模式?