Size: a a a

Ассемблер

2020 May 11

q

quavo in Ассемблер
楽園松本
Выше скриншот. На том сайте мне нравится, что они дают алгоритм действий процессора.
Спасибо
источник

楽園松本 in Ассемблер
Интересно! Спасибо за инфу :)
источник

AG

Alexander Galileev in Ассемблер
quavo
ой я не знаю
вообще gnu assembler
Брат линуксоид? Узнаёшь брата линуксоида?
источник

MW

Mohammad Wolf in Ассемблер
Если для ассемблера gcc в инструкции mul можно перемножать, если оба операнда - регистры. То в другом синтаксисе ассемблера (хоть ассемблер для винды, хоть интелловский синтаксис) такое ограничение отпадает?
источник

AG

Alexander Galileev in Ассемблер
1. GCC - не ассемблер, а компилятор.
2. Интеловский синтаксис - это и есть "для винды" (ну, по крайней мере так считается).

А по сути вопроса - возможные операнды зависят не от ассемблера, а от набора команд процессора, в данном случае x86.
источник

A

Aleksandr in Ассемблер
интеловский синтаксис и вовсе не для винды, и используется подавляющим большинством ассемблеров
источник

A

Aleksandr in Ассемблер
использовать мнемоники не в том формате, в котором их представляет производитель - тот еще признак гениальности. впрочем, у СПО так повсюду
источник

AG

Alexander Galileev in Ассемблер
Синтаксис Intel считается виндовым, потому под MS-DOS кодили именно на нём. Синтаксис AT&T, в свою очередь, считается традиционным для Linux, он используется в GAS. Но это в общем-то дело вкуса - и дело выбора конкретного ассемблера.

По поводу формата мнемоник - в мануале Intel для команды mul указаны только два типа операндов, регистровые и адресные. Тут хочешь или не хочешь, но процессор может выполнить только такие команды.
источник

A

Aleksandr in Ассемблер
во всех мауналах интел указан синтаксих, внезапно, интел. можно догадаться откуда взялось название "синтаксис интел"
источник

A

Aleksandr in Ассемблер
и этот синтаксис не менее успешно используется в линукс, в том числе с костылями для gas в виде .intel_syntax
источник

A

Aleksandr in Ассемблер
в то время как обратной тенденции не наблюдается
источник

AG

Alexander Galileev in Ассемблер
Эм, мне кажется, у нас небольшие разночтения в терминологии. "Синтаксис Intel" != "Набор команд x86 процессоров Intel". Команды процессоров можно изобразить в обоих синтаксисах. Недавно в чате обсуждали:

1) 6(%rax,%rbx,2) - синтаксис AT&T;
2) [rax+2*rbx+6] - то же самое, в синтаксисе Intel.

Работать будет и то, и то, если конкретный ассемблер (в конкретной ОС) это поддерживает. Выбор, как я уже сказал - дело вкуса.
источник

VR

Vartan RedMan in Ассемблер
ребят привет, можно вопрос на счёт этого кода ? не совсем понимаю что именно делает jnz rec, точнее просто rec не встречал ещё, это сдвиг какой-то или как ?
источник

q

quavo in Ассемблер
rec у тебя ниже же
источник

q

quavo in Ассемблер
функция
источник

VR

Vartan RedMan in Ассемблер
Втф🤦‍♂
источник

AG

Alexander Galileev in Ассемблер
Это метка. Команда означает "если ZF (zero flag) не установлен, то перейти на метку REC".
источник

VR

Vartan RedMan in Ассемблер
Блин я ищю в гугле что за команда
источник

q

quavo in Ассемблер
метка да
соре...
источник

VR

Vartan RedMan in Ассемблер
Сорян просто только начал функции,туплю
источник