2010-08-23 4 views

ответ

1

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

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

Wikipedia подытоживает хорошо:

Гораздо более читаемое исполнение машинного языка, называемого языком ассемблера, использует мнемонические коды для обозначения инструкции машинного кода, а не просто с помощью числовых значений с инструкциями. Так, например, на процессоре Zilog Z80, машинный код 00000101, что приводит к процессору декремента регистра процессора В, будут представлены на языке ассемблера, как DEC B.

4

Ассемблер был изобретен, чтобы сделать его более легким для чтобы писать машинный язык. Язык

Монтаж:

MOV AX,1 

Машинный язык:

B8 01 00 ; B8 = copy two bytes into AX 0001 = value to copy 

Обратите внимание, что язык ассемблера скрывает поворота 0100 в 0001 - этот процессор является "Little Endian"

Важным отличием является язык ассамблеи этикетки:

JMP next_thing 

Машинный язык:

EB FC   ; EB = jump, FC = current address - 4 bytes 

Перед сборкой, нужно было рассчитать скачок смещения вручную.

0

Язык ассемблера является понятным для человека представлением для машинного языка.