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
。
答案 0 :(得分:7)
英特尔架构处理器通常无法在一条指令中将数据从内存传输到内存。你需要写一些类似的东西:
mov byte al, [char]
mov byte [str1+2], al