【发布时间】:2016-11-12 20:26:53
【问题描述】:
我正在使用 16 位 NASM 程序集,遇到无法构建代码的问题。该错误发生在此处的所有 MOV 行上:
section .bss
x_coord RESB 8 ; [x_coord] is the head, [x_coord+2] is the next cell, etc.
y_coord RESB 8 ; Same here
pixel_x RESB 2 ; Storage for calculations
pixel_y RESB 2 ; Storage for calculations
...
MOV [pixel_x], [x_coord]
MOV [pixel_y], [y_coord]
CALL DrawPixel
MOV [pixel_x], [x_coord+2]
MOV [pixel_y], [y_coord+2]
CALL DrawPixel
MOV [pixel_x], [x_coord+4]
MOV [pixel_y], [y_coord+4]
CALL DrawPixel
MOV [pixel_x], [x_coord+6]
MOV [pixel_y], [y_coord+6]
CALL DrawPixel
我听说这是因为汇编器不知道变量的大小。我尝试了一些在线帖子建议的MOV [pixel_x], byte [x_coord],但这给出了同样的错误。我只想将 x_coord 和 y_coord 的前两个字节复制到 pixel_x/pixel_y 中,然后是接下来的两个,然后是接下来的两个,然后是接下来的两个。我怎样才能做到这一点?
谢谢:)
【问题讨论】: