#assembly #nasm
#сборка #nasm
Вопрос:
Вот часть моего кода:
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»
Любая помощь была бы высоко оценена.
Комментарии:
1. Как вы определили
Node
2. Вот так: УЗЕЛ СТРУКТУРЫ.Значение: resd 1 ; поле данных.NextPtr: resd 1; поле следующего указателя .PrevPtr: resd 1; предыдущее поле указателя .размер: ENDSTRUCT @MichaelPetch
3. Можете ли вы добавить это к своему вопросу, пожалуйста
4. Извините, обновлено. @MichaelPetch
Ответ №1:
nasm чувствителен к регистру. Вы объявляете свою структуру как NODE
, но затем пытаетесь использовать ее как Node
.
После изменения NODE
на Node
в первой строке nasm принимает код без ошибок.
Комментарии:
1. Большое вам спасибо. Я не могу поверить, что я этого не заметил.