x86 迭代 2 字节字数组

2023-11-29

我正在使用 emu8086 在 8086 游戏中编写一个循环,并且我想迭代单词值,而不是像这样声明的数组的字节;

player_fire  dw 320 dup(0)

; ...

mov  bx, offset player_fire
mov  cx, 320
fire_loop:
mov  ax, [bx+si]
inc  si
loop fire_loop

但我知道这是错误的。我在写入第 i 个元素时也遇到问题,是否应该使用 bx + si 还是 bx + (2*si) 引用它?


第 i 个元素位于 [base + 2*register]。

然而,它不能直接写在 80386 寻址模式之前。在 8086+ 上,您可以使用以下命令执行此操作:

 fire_loop:
  mov ax,[bx+si]
  add si, 2
  loop fire_loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

x86 迭代 2 字节字数组 的相关文章

随机推荐

  • 绘制熊猫时间增量

    我有一个 pandas 数据框 它有两个 datetime64 列和一个 timedelta64 列 这是两列之间的差异 我正在尝试绘制 timedelta 列的直方图以可视化两个事件之间的时间差 然而 仅仅使用df time delta
  • 如何增加Mapkit中userLocation注释的半径

    我的应用程序需要用户许可并将地图移动到该位置 默认情况下在该位置MapKit添加一个正在生成一些脉冲的蓝色图标 我到处搜索 但我发现如何添加一个 1000m 的圆圈userLocation 我不想要这样 你可以说我正在寻求定制userLoc
  • 帮助使用 int 的 TSQL IN 语句

    我正在尝试在存储过程中创建以下选择语句 dealerids nvarchar 256 SELECT FROM INVOICES as I WHERE convert nvarchar 20 I DealerID in dealerids I
  • 使用 GRPC 流请求进行代理负载平衡

    我们使用流式 RPC 将大文件发送到 GRPC 服务器 像这样 service FileReceiver rpc addData stream DataChunk returns Empty 在这种情况下是否可以使用代理负载均衡器 以便负载
  • 如何防止窗户被移动?

    我将如何阻止表格被移动 我将表单边框样式设置为 固定单一 并希望保持这种方式 因为它在 vista 中看起来不错 看看这个link 您可能对选项 3 感兴趣 它将要求您包装一些本机代码 但应该可以工作 链接底部还有一条评论 显示了一种更简单
  • 一次解析器中有多个匹配项?

    我正在尝试 还 用从日志解析的数据填充多个向量 关键是尽可能快速高效地完成 因此我想仅在一次传递中收集所有数据 而不是规则之间的 或 我发现了接下来的问题 1 每次我使用spirit 但它没有按预期工作时 我发现自己完全不知所措 并尝试了两
  • 在 Crystal Report 2008 中使用 .net 对象作为数据源

    HI all 我创建了一个 net 对象 例如 A 其中包含从表中收集的数据 接下来 我创建一个List a 并传递给SetDataSource 的方法ReportDocument目的 当我运行时 抛出了异常 CrystalDecision
  • MYSQL - 为表中的每个类别选择前 4 条记录

    我有一张桌子INVENTORY其中有其他列CATEGORY and UPDATED 按这些列对表进行排序很容易 SELECT FROM INVENTORY ORDER BY CATEGORY ASC UPDATED ASC 我想要的是获得一
  • Zend Framework - 并未显示所有错误

    在操作方法中 我有以下代码摘录 error reporting E ALL ini set display errors 1 Logger log test Logger类是这样定义的 class Logger public static
  • 为什么我的 git 推送到 HostGator 共享主机失败?

    我正在尝试将本地存储库部署到远程目录 我已经跑了git init bare在此远程目录中 并将正确的 ssh 路径添加到我的本地 git repo 分支 名为 dev git remote add server ssh email prot
  • 使用 SPARQL 获取图形路径[重复]

    这个问题在这里已经有答案了 我们有以下海龟数据集 表示我们想要观察某些属性的图表 prefix v1
  • 如何杀死Android应用程序启动的logcat进程?

    我有 Android 应用程序 在服务启动时实现以下代码 Process process Runtime getRuntime exec logcat v time s arg BufferedReader bufferedReader n
  • 我可以决定调用不存在的对象方法时会发生什么吗?

    我的代码如下所示 obj foo obj might or might not have a foo method 我想知道我是否可以覆盖发生的情况obj foo在我的代码中被调用 例如 obj foo function alert Hel
  • 如何将装箱切片 (`Box<[T]>`) 传递给 C 函数?

    我想向 C 函数公开一个 动态数组 C 函数将拥有数据 稍后将调用我的函数来释放数据 所以它看起来像下面这样 fn get something len mut usize gt mut u8 fn dealloc something dat
  • 正则表达式匹配两个字符之间的多个数字组

    我有一个如下所示的字符串 lt 399969178745962506 gt hello to lt 104729417217032192 gt 我有一本包含两者的字典 如下所示 399969178745962506 One 10472941
  • Win32:如何设置窗口标题、滚动条等的颜色?

    我正在更新黑色背景白色文本的 Win32 应用程序的 GUI 这对我的内容来说很简单 但我怎样才能改变我的子窗口 标题栏 滚动条等 的颜色 我知道有WM CTLCOLORDLG设置对话框的颜色 我也知道有WM NCPAINT 但这会将所有绘
  • 在进入 SQL 查询之前,$_SESSION['username'] 是否需要转义?

    我想知道在 SQL 查询中使用 SESSION 数组中的任何内容之前是否需要转义它 请注意 我不在我的应用程序中使用 cookie 因为我听说它们可以用于会话劫持 多谢 你需要逃离每根弦您传递给 sql 查询 无论其来源如何 即使它是您从数
  • iPhone 中某些应用程序的“打开方式”如何工作?

    据我所知 从iOS SDK 3 2开始 添加了文件类型处理 iOS应用程序可以将自己与某种文件类型关联起来 以便其他应用程序可以使用该应用程序打开此类文件 由于iOS中的沙箱机制 我想知道当appA中的文件被appB打开时 appB注册了这
  • 如何将文本文件复制到C中的字符串?

    我需要将文本文件的内容复制到动态分配的字符数组 我的问题是获取文件内容的大小 谷歌显示我需要使用fseek and ftell 但为此该文件显然需要以二进制模式打开 而这只会产生垃圾 编辑 我尝试以文本模式打开 但我得到了奇怪的数字 这是代
  • x86 迭代 2 字节字数组

    我正在使用 emu8086 在 8086 游戏中编写一个循环 并且我想迭代单词值 而不是像这样声明的数组的字节 player fire dw 320 dup 0 mov bx offset player fire mov cx 320 fi