将 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 个像素点在一起 的相关文章

  • 在什么类型的情况下汇编速度不够快,因此您需要直接的硬件/布尔逻辑解决方案?

    我已经开始通读装配艺术 https nostarch com assembly2 htm 其中有一个关于布尔逻辑的部分 其中指出 当然 使用 Pascal C 甚至汇编语言等语言指定编程问题的解决方案比使用布尔方程指定解决方案要容易得多 因
  • printf 内部如何工作? [复制]

    这个问题在这里已经有答案了 可能的重复 无需汇编的 C C 函数定义 https stackoverflow com questions 2442966 c c function definitions without assembly 你
  • 读取和打印手臂组件中的字符串

    我正在使用 ARMSim 刚刚开始学习汇编 所以如果我看起来一无所知 请原谅我 但我正在尝试从输入文件中读取字符串 然后将其打印到输出屏幕 到目前为止我有 equ SWI Open 0x66 open a file equ SWI Clos
  • 使用拼凑将组合子图(拼凑?)注释为单个图

    我试图弄清楚如何注释组合拼凑物 就好像它们是单独的图一样 我有一个由三个组合图和另一个单个图组成的拼凑而成 最终的复合图是顶部的第一个拼凑物和底部的单独图 我没有问题得到我想要的布局 但是当我使用plot annotation 它为每个图提
  • 早期的BIOS怎么能使用CALL呢?

    我纯粹是出于爱好原因 试图理解 PC 中的一些低级代码 我为随机的旧千兆字节 MB 下载了一个过时的 BIOS ROM 映像 https www gigabyte com Motherboard GA 8I845GE775 G rev 10
  • 在 Mathematica 中使用图形进行渐变填充

    我如何使用以下内容创建Rectangle in Graphics Using Polygon 你可以 Graphics EdgeForm Black Polygon 0 0 3 0 3 1 0 1 VertexColors gt White
  • 如何向pairs()图中添加颜色键?

    Goal 我有一个调整过的pairs情节在R我想为其添加一个颜色键 面板背景位于pairs绘图显示由数字矩阵确定的某些颜色 我想要在右侧有一个颜色键pairs显示这些颜色和一些指示数字的标签的图 我找到了一些添加颜色键的方法image 绘图
  • 在 DLL 中,函数表的结构如何?

    我一直在研究不明确支持我的操作系统的设备库的实现 特别是 我有一个反汇编的 DLL 以及大量的支持源代码 现在 功能表 导出表是如何构造的 我的理解是 第一个结构 data部分是 RVA 表 接下来是通过索引链接到第一个地址表的字符串表 这
  • 在 NASM 中使用 istruc 时:“警告:尝试初始化 BSS 部分‘.bss’中的内存:忽略 [-w+other]”

    在搜索这个错误时我发现this https stackoverflow com questions 65731514 nasm attempt to initialize memory in bss section 77001709问题 但
  • 如何查看JVM中JIT编译的代码?

    有什么方法可以查看 JVM 中 JIT 生成的本机代码吗 一般用法 正如其他答案所解释的 您可以使用以下 JVM 选项运行 XX UnlockDiagnosticVMOptions XX PrintAssembly 根据特定方法进行过滤 您
  • 将 C 转换为 MIPS - 嵌套数组

    我正在学习 MIPS 汇编语言 在书中看到了这个例子 对我来说这似乎是不正确的 如果是的话 这将不是我在本书中发现的第一个错误 变量f and g被分配寄存器 s0 and s1分别是数组的基地址A and B are s6 and s7分
  • 如何用凸形状形成凹形状?

    我试图绕过只能在 SFML C 库中形成凸形状的规则 为此 我计划测试给定的顶点 如果是凹的 将顶点分成组 测试每个组的凹性 并重复直到得到看起来像的全套凹形形状 就像组合在一起时的原始形状一样 我想知道的是 测试形状凹度的方程式是什么 它
  • 适用于 Littler 或 Rscript 的外部图形设备

    我真的很喜欢 Littler 对于使用 R 编写脚本非常有用 但我不知道如何使用 gnuplot 中的外部图形设备 例如使用 Octave 我能够生成所需的图表 但我必须使用 Sys sleep 并且我不想这样做 因为我想以交互方式自行关闭
  • 如何禁用浮点单元(FPU)?

    我想在 x86 系统中禁用 FPU MMX SSE 指令 并且我将为设备不可用异常实现一个处理程序 我已经提到过控制寄存器 wiki 页面 http en wikipedia org wiki Control register 看来我必须在
  • 在DOS中创建带有echo的文件而不插入回车符

    我想在 DOS 中的 CIFS 挂载上创建一个新文件 如果我做 echo hello gt foo txt hello 的末尾会有一个 CR 如何使用 echo 在 DOS cmd 中创建文件而不自动附加 CR 它导致 samba 和我的
  • gcc 如何知道内联汇编中使用的寄存器大小?

    我有内联汇编代码 define read msr index buf asm volatile rdmsr d buf 1 a buf 0 c index 使用该宏的代码 u32 buf 2 read msr 0x173 buf 我发现反汇
  • MASM 字符串反转

    好吧 我正在讨论这个问题 可能是一个非常复杂的解决方案 但这是我脑海中浮现的第一件事 我需要编写一个汇编语言程序来反转 源 字符串 而不使用 目标 字符串 临时变量 这是我的尝试 INCLUDE Irvine32 inc data sour
  • 汇编编程语言:程序仅当输入为 ESC 时退出,并在退出前要求确认(y/n),否则循环

    我只是汇编语言编程的初学者 我们的第一个任务是让程序仅在输入为 ESC 时退出 退出之前请求确认 y n 否则循环 我知道 ESC 在 ASCII 代码中具有等效值 但我对插入位置或是否需要添加更多内容感到困惑 请帮我 这是程序 model
  • OpenGL 的每个组件 alpha 通道?

    是否可以使用 OpenGL 对每个组件使用一个 alpha 通道 一个用于红色 一个用于绿色 一个用于蓝色 进行混合 如果没有 有哪些可能的解决方法 这不是直接支持的东西 不过 您自己实现起来相当容易 使用 3 通道 alpha 纹理渲染三
  • 如何在 Ubuntu 14.04 LTS 中安装 ia32-libs (Trusty Tahr)

    我昨天安装了 Ubuntu 14 04 Trusty Tahr 一切看起来都还好 但是当我尝试编译一些C代码时 我遇到了以下错误 该错误似乎是由于操作系统缺乏 32 位架构支持造成的 错误输出如下 usr bin ld i386 archi

随机推荐