2013-03-18 3 views
2

Я хочу реализовать общий связанный список в ассемблере. Мой вопрос: как я представляю элемент типа T? как указатель ?. Список ТАД:Как представить общие типы в языке ассемблера

Record Node 
    element: T 
    next : Node 
end 

Record Head 
    first : Node 
    size : Int 
end 

Интересно, как это сделать в основном для резервирования памяти для записи Node.

Я программирую в MIPS. Спасибо

+1

Вы уверены, что сборка - это язык для работы ... любая структура данных работает? – millimoose

+0

Материал Google для ваших назначений eh .. http://chortle.ccsu.edu/assemblytutorial/Chapter-34/ass34_11.html – Kickaha

+0

Возможно, вы можете собрать некоторые макросы, которые будут генерировать код на основе ширины элемента, но это звучит как проявлять боль. Даже работа с фиксированной шириной, скорее всего, будет сложной задачей, если вы хотите фактически реализовать связанный список, а не просто выполнять определенные предопределенные манипуляции на уровне заданий. (И макросы не являются особенностью ассемблера, а также особенностью конкретного ассемблера, который вы используете.) – millimoose

ответ

2

В ассемблере переменные и поля не имеют типов, но только размеры. Для наиболее распространенного случая плоской 32-разрядной модели памяти указатели имеют четыре байта, такие же, как и большинство целых чисел. Поэтому вам просто нужно рассматривать их как целые числа, которые содержат адреса, а не просто произвольные числа.

+0

Вот что я думал. спасибо – Jcao02

Смежные вопросы