Assembly 将寄存器值发送至RAM装配图

Assembly 将寄存器值发送至RAM装配图,assembly,dos,interrupt,Assembly,Dos,Interrupt,我正在制作一个DOS图片查看器。对于下一部分,我必须设置它,以便它找到每个像素的值,然后将其发送到一个文件,我使用AH=40 INT 21将其发送到该文件,但数据必须在程序中,但我使用AH=0D INT 10查找像素的颜色,并将其保存在寄存器中。我需要使文件中的一个字节成为寄存器的值。我可能需要做一些类似DB“reister value”的事情。换句话说,我需要将地址0250设为AL的值,或者将寄存器值发送到RAM。Im运行在'AH=0 AL=13 INT 10'64000像素256色无需处理任

我正在制作一个DOS图片查看器。对于下一部分,我必须设置它,以便它找到每个像素的值,然后将其发送到一个文件,我使用
AH=40 INT 21
将其发送到该文件,但数据必须在程序中,但我使用
AH=0D INT 10
查找像素的颜色,并将其保存在寄存器中。我需要使文件中的一个字节成为寄存器的值。我可能需要做一些类似DB“reister value”的事情。换句话说,我需要将地址0250设为AL的值,或者将寄存器值发送到RAM。Im运行在'AH=0 AL=13 INT 10'64000像素256色

无需处理任何内容hb800是基于文本模式0-屏幕0的位置。它是二进制的,因此您只需在需要的地方引用它即可加载。

无需处理任何内容hb800是基于文本的模式0-屏幕0的位置。它是二进制的,所以你可以在需要的地方引用它来加载。

Im运行Al=13 INT 10 320x200像素80x40字符sim运行Al=13 INT 10 320x200像素80x40字符是的,你可以逐个读取像素并将它们存储到内存中(
mypixel db 0
在你的数据段中,以及
mov[mypixel],al
和点
ds:dx
at
mypixel
)。但是,由于您使用的是模式13h,您可以直接写入像素(64000像素位于0a000:0000)。我检查了0a000:0000,但没有发现任何内容(顺便说一句,我不太擅长分段。我是在汇编中编写的,所以我不能创建变量my pixel,它只是一个寄存器AL,它有像素值。试着发布一个最小的代码片段,说明您所拥有的内容以及您遇到的问题,这将使您更容易提出建议。另外,请明确您使用的视频模式,是吗t 13h 320x200 256色还是文本模式?是的,您可以逐个读取像素并将其存储到内存中(
mypixel db 0
在您的数据段中,以及
mov[mypixel],al
mypixel
处的点
ds:dx
)。但是,因为您似乎使用的是13h模式,所以您可以直接写入像素(64000像素位于0a000:0000)。我检查了0a000:0000,没有发现任何内容(顺便说一句,我不太擅长分段。我是在汇编中编写的,所以我不能创建变量my pixel,它只是一个寄存器AL,它有像素值。试着发布一个最小的代码片段,说明您所拥有的内容以及您遇到的问题,这将使您更容易提出建议。另外,请明确您使用的视频模式,是吗t 13h 320x200 256色还是文本模式?