首页 > 解决方案 > 使用 IEND 时出现 ISTRUC NODE 错误“提供给 TIMES 的非常量参数”

问题描述

这是我的代码的一部分:

STRUC NODE
  .Value: resd 1    ;data field
  .NextPtr: resd 1  ;next pointer field
  .PrevPtr: resd 1  ;previous pointer field
  .size:
ENDSTRUC

SECTION .data
Head: ISTRUC Node
    AT Node.Value, dd 0
    AT Node.NextPtr, dd Second
    AT Node.PrevPtr, dd Tail
IEND

Second: ISTRUC Node
    AT Node.Value, dd 0
    AT Node.NextPtr, dd Tail
    AT Node.PrevPtr, dd Head
IEND

Tail: ISTRUC Node
    AT Node.Value, dd 0
    AT Node.NextPtr, dd Head
    AT Node.PrevPtr, dd Second
IEND

我在使用“IEND”的每一行都有一个错误

任何帮助将不胜感激。

标签: assemblynasm

解决方案


nasm 区分大小写。您将您的 struc 声明为NODE,然后尝试将其用作Node.

在第一行更改NODE为后,nasm 接受代码而没有错误。Node


推荐阅读