Как работает ключевое слово label в MASM? - PullRequest
1 голос
/ 17 января 2012

Что делает этот ассемблерный код?

someName label word
         dw 8 dup(0)

Как работает label?

Ответы [ 4 ]

3 голосов
/ 17 января 2012

Обычно label создает символическое имя для следующего кода / данных, а также присваивает ему тип. Это похоже на определение переменной с заданным именем и типом / размером. Но это на самом деле не выделяет место для этого. Может использоваться для создания псевдонимов переменных.

2 голосов
/ 17 января 2012

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

Оператор someName label word назначает текущий адрес (типа word) someName. Это означает, что позже в программе вы можете использовать метку someName вместо определенного адреса.

Оператор dw резервирует некоторое количество пространства типа word. Я не совсем уверен, что означает 8dup(0), но это может быть 8 слов (16 байт) пробела.

1 голос
/ 08 мая 2016

Метка может быть размещена в начале выписки.Во время сборки метке присваивается текущее значение активного счетчика местоположений, и он служит операндом инструкции.Существует два типа ярлыков: символические и числовые.

0 голосов
/ 28 февраля 2019

Метка - это просто имя для определенного места в вашем коде или определенного адреса памяти. Используя метки вместо реальных адресов, ваш код можно поддерживать гораздо проще, потому что метки не нужно менять, когда вы добавляете код и перемещаетесь по нему. Компилятор компилирует его по фактическим адресам внизу.

...