操作码和操作数的组合无效? (x86 DOS)
org 100h
mov ah, 9
mov dx, str1
mov byte [str1+2], [char]
int 21h
mov ah, 4Ch
int 21h
str1 db 'String$'
char db "o"
为什么 NASM 给我这个错误消息:
第 5 行错误:操作码和操作数的组合无效
mov byte [str1+2], [char]
此行中的操作码和操作数组合无效 我试图将存储在 *char
上的字节移动到地址 *str1+2
。
org 100h
mov ah, 9
mov dx, str1
mov byte [str1+2], [char]
int 21h
mov ah, 4Ch
int 21h
str1 db 'String
Why does NASM give me this error message:
Error on line 5: Invalid combination of opcode and operands
mov byte [str1+2], [char]
in this line I'm trying to move the byte stored on *char
to the address *str1+2
.
char db "o"
Why does NASM give me this error message:
Error on line 5: Invalid combination of opcode and operands
in this line I'm trying to move the byte stored on *char
to the address *str1+2
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Intel 架构处理器通常无法通过一条指令将数据从内存传输到内存。你需要写一些类似的东西:
Intel architecture processors generally can't transfer data from memory to memory in one instruction. You need to write something like: