2015-12-16 3 views
0

Я новичок, я начинаю программировать в школе, и наши профессора требуют от нас реализовать алгоритм быстрой сортировки в сборке.Объявление функции в сборке

Это очень сложно для меня, не могли бы вы мне немного помочь. Я даже не знаю, как объявить функцию с указателем ...


Для Exemple прототипа функции в С ++: недействительным Quicksort (интермедиат * т, INT размер)


по-моему, я должен начать, как это, но я не уверен, что у всех:

.text quicksort // it indicates that the variable belong to the quicksort function? 

.size quicksort // same thing 

:quicksort // it indicates that we declare a function named quicksort? 

Собрание ве rry hard ... Я уже делал C/C++-программирование в прошлом, и было легче учиться, если вы можете мне немного помочь, спасибо ...

+1

Это зависит от ассемблера. Пожалуйста, отметьте свой вопрос ассемблером (NASM, GAS, FASM, MASM или ...) и операционной системой. Обычно вам не нужно ** объявлять ** функцию, если она не является внешней. – rkhb

+0

Я думаю, что это основано на RISC. Somes инструкции: фунт (нагрузка байт), BEQ (ветвь, если равны), добавить, Адди, addiu, ... Я даже не знаю, все эти выражения доступны во всех типах ассемблере – David

+0

К сожалению, мы не можем ответить на этот вопрос, если не можем идентифицировать ассемблер (программу), который вы используете. Архитектура процессора менее важна. –

ответ

1

Существует несколько основ, которые необходимо реализовать ,

  1. Указатель в функции C++ предназначен для массива int. В MIPS, вы define arrays by their addresses in memory.

  2. Functions are defined by setting up subroutine calls and using jal.

  3. Вы должны понимать алгоритм QuickSort уже.

Если вы даже не можете запустить мировую программу hello, то здесь нет необходимости просить здесь прямо сейчас. Сначала вам нужно будет изучить основы сборки.

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