Ассамблея маленький вопрос - PullRequest
1 голос
/ 01 сентября 2009

Когда кто-то что-то кодирует, например, в MASM, как это называется? Кодирование в сборке? Как это называется, когда вы смотрите на коды операций какой-либо части отладки программы или когда вы разбираете? Каковы их различия? Я немного смущен.

Ответы [ 4 ]

2 голосов
/ 01 сентября 2009

Когда вы пишете машинный язык, используя op-коды, например ..

    MOV  SCON,#01010010B
    MOV  TMOD,#00100000B
    MOV  TH1,#0FDH
    SETB TCON.6

тогда вы кодируете на ассемблере.

Если вы хотите взглянуть на язык ассемблера, используемый для создания программы (либо человеком, пишущим на языке ассемблера, либо компилятором), то вы берете либо двоичный файл и подаете его в программу, называемую дизассемблером. Это преобразует двоичные данные, из которых состоит программа, обратно в язык ассемблера, который вы можете понять (надеюсь).

Надеюсь, это ответит на ваш вопрос.

1 голос
/ 01 сентября 2009

Акт написания кода на ассемблере будет называться «кодирование на ассемблере (langauge)». Результат написания кода будет называться «ассемблер». Возможно, результатом дизассемблирования во время памяти также является ассемблерный код, но ясно, что код ассемблера, который вы кодируете, более детализирован (метки, комментарии, символические выражения), чем код ассемблера, полученный из отладчика, и поэтому называется «дизассемблированием» чтобы отличить его.

1 голос
/ 01 сентября 2009

Я назову это кодом на ассемблере, справа. В любом случае, странно смотреть прямо на коды операций, поскольку они не предназначены для чтения человеком, обычно у вас есть дизассемблер, который преобразует де-коды в инструкции ассемблера.

1 голос
/ 01 сентября 2009

"Когда кто-то что-то кодирует, например, в MASM, как это называется? Кодирование в сборке?"

Так я всегда это называл.

"Как это называется, когда вы смотрите на коды операций какой-либо части отладки программы или когда вы разбираете?"

Если вы смотрите на коды операций и конвертируете их обратно в сборку, значит, она разбирается.

Итак, если я понимаю ваше значение, хотя я не уверен, что понимаю, ответ заключается в том, что вы описываете различные действия: Кодирование на ассемблере, которое пишет код в основном для восприятия человеком. т. е. JMP 0405, LDA 5 и т. д. Сборка, которая запускает ассемблер в читаемой человеком форме, чтобы преобразовать ее в машиночитаемую форму, то есть коды операций и их операнды. Есть разборка, которая берет коды операций и превращает их обратно в читабельную форму.

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