mov si, name call print_string报错probably no zero prefix for hex
时间: 2024-03-02 18:50:40 浏览: 156
这个错误通常是由于在使用汇编语言中的寻址方式时,没有使用正确的前缀导致的。在汇编语言中,如果要使用16进制的地址,需要在地址前面加上0x或者0h的前缀,否则会报错。
例如,如果变量name的地址是0x1234,则正确的汇编指令应该是:
```
mov si, 0x1234
call print_string
```
如果你在代码中写的是"mov si, name",那么汇编器会认为"name"是一个汇编语言中的标识符,而不是一个地址,因此会出现报错。要解决这个问题,你需要将"name"替换为变量name的实际地址。如果你不知道变量name的实际地址,可以使用调试器或者其他工具来获取。
阅读全文