Я читал, что язык ассемблера зависит от процессора, и для каждого процессора существует специальный набор инструкций. Я использую процессор архитектуры Intel i5 x86_64. Когда я пишу код, я не использовал другой набор инструкций. Я использую ассемблер NASM. Он собирает мой код и преобразует его в двоичный. Итак, в чем дело с процессором. Даже мой друг с другой архитектурой работает с одним и тем же кодом (не скомпилированным, но с исходным кодом) и получает тот же результат ... Итак, где процессор языка ассемблера зависит?Я пытался узнать язык Ассамблеи, у меня есть некоторые сомнения, о которых я упоминал ниже
И код ... Это просто пример, каждый кусок кода работает на обоих архитектур x86_64 и 8088 микропроцессор
[ORG 0x7c00]
xor ax, ax ;make it zero
mov ds, ax
mov si, msg
call bios_print
hang:
jmp hang
msg db 'Welcome to Macintosh', 13, 10, 0
bios_print:
lodsb
or al, al ;zero=end of str
jz done ;get out
mov ah, 0x0E
int 0x10
jmp bios_print
done:
ret
times 510-($-$$) db 0
db 0x55
db 0xAA
«Процессор, зависящий от процессора», не обязательно относится к различным моделям процессоров (например, Intel Core i5 vs Core i3). – Michael