указатели на сборку или реестры - PullRequest
2 голосов
/ 20 февраля 2011

Как выглядит указатель в сборке, я знаю, что такая инструкция, как 'mov' для, скажем, pic, преобразуется в последовательность битов, эти биты активируют схемы для выполнения работы, но указатель, как это он сумел собрать и затем управлять цепями? указатель simngle преобразуется в несколько инструкций по сборке, как они выглядят?

Ответы [ 3 ]

4 голосов
/ 20 февраля 2011

Указатель - это не что иное, как целое число без знака, указывающее позицию в памяти (точнее, виртуальное адресное пространство).

Инструкция

mov eax,[ebp]

Перемещает значениехранится в памяти, адрес которой хранится в ebp в eax.Здесь ebp - указатель.

Возвращаясь к вашему вопросу.Код также данные, хранящиеся где-то в памяти, и адрес этой памяти является указателем.Таким образом, используя [] для разыменования указателя, мы можем получить эту инструкцию (как сделано в приведенном выше утверждении), а затем процессор может интерпретировать код и выполнить.

На самом деле на 32-битных машинах x36 регистр eip сохраняет указатель, который указываетпамять, которая получила текущую инструкцию, которая выполняется.

1 голос
/ 20 февраля 2011

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

На самом деле любой указатель состоит из одного или нескольких целых чисел без знака. На 8-битных микропроцессорах PIC16 вы должны сначала установить соответствующий банк памяти, после чего вы можете записывать в память, причина в том, что размер кода операции адреса составляет только 7-бит в случае, если вы используете прямую адресацию памяти. Вы также можете использовать косвенную адресацию памяти, в этом случае вы должны использовать регистр FSR, который состоит из двух 8-битных регистров FSRL и FSRH. После установки указателя в регистре FSR вы можете прочитать результат в регистре INDF как байт этого адреса.

1 голос
/ 20 февраля 2011

Указатели являются смещениями памяти. Они выглядят как целые числа с шириной, соответствующей адресуемому размеру сегмента памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...