string - 尝试在别处复制字节时无效的有效地址
问题描述
我正在编写一些 NASM 代码,在 x86 架构上运行。
作为编写将数字打印为十六进制的过程的练习的一部分(据我所知,我的实现的确切细节无关紧要),我需要将一个字节从一个字符串复制到另一个字符串。
这是我的字符串:
hex_digits:
db '0123456789abcdef'
hex_out:
db '0000'
假设我是第 th 索引hex_digits
处的字节,到ax
.in 中的第三个索引hex_out
。
在 C 中,这看起来像这样:
hex_out[3] = hex_digits[ax]
这是我的程序集:
mov cx, [hex_digits+ax]
mov [hex_out+3], cx
这不应该工作吗?嗯 - 显然不是,但我已经阅读了有效地址的工作原理,here。读完之后,我确信我理解了有效地址,但似乎并非如此。
我敢肯定这是显而易见的,但我对 nasm 还很陌生。
谢谢!
解决方案
推荐阅读
- javascript - javascript - 删除包含特定文本的段落
- react-native - React Native Picker 确认按钮
- android - 线程循环崩溃
- ios - 从应用程序控制网络链接调节器
- html - 我有 3 个 CSS 按钮,但另一个有
- debugging - MSVC 显示“没有可用的反汇编”。对于任何从 MSVC 编译出来的东西
- javascript - 如何停止在 hubspot 上提交表单?
- yocto - Yocto do_install(): 安装实用手册
- vba - VBA Word 输入嵌套单元格
- java - 响应消息:javax.mail.MessageRemovedException:无法在 POP3Message.getContentStream 中检索消息 #1