Size: a a a

Ассемблер

2019 December 03

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
мне например не интересно изучать 8080 процы, это технология давно минувших дней, такое наверное уже нигде и не используется
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
пики авры не всчет
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
жалуйся
источник

т

тимон пуmбович in Ассемблер
))
источник

ep

edward piu in Ассемблер
Согласен
источник

ep

edward piu in Ассемблер
Универ
источник

ep

edward piu in Ассемблер
Говно
источник

ep

edward piu in Ассемблер
Учусь на инженера
источник

ep

edward piu in Ассемблер
Уже лет 30 не обновляют программу
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
источник

楽園松本 in Ассемблер
Alexander Galileev
А если нужно обратиться напрямую к регистрам? В Си это сделать нельзя.
1) зачем тебе регистры?
2) register char = 5;
источник

AG

Alexander Galileev in Ассемблер
1) Если нужно написать программу без использования даже стандартной библиотеки (zero runtime). Тогда обёртки для системных вызовов нужно писать на ассемблере, с обращениями к отдельным регистрам. По крайней мере в Linux (параметры вызовов сначала раскладываются по регистрам) и в BSD (один параметр в регистр RAX, остальное в стек). В Windows не знаю, там всё немного по-другому устроено.
2) Вообще я про это не знал, спасибо за информацию. Но насколько я понял, указание register указывает хранить переменную в одном из регистров, чтобы к ней можно было осуществлять максимально быстрый доступ - и только. Ручная работа с регистрами в Си не предусмотрена, т.к. Си в общем-то и задумывался, чтобы уйти наконец от этого микроменеджмента, спрятавшись за уровнем абстракции.

ПС. Ну и вообще, насколько я знаю, вставки на ассемблере в Сишный код делают, когда некий кусок кода нужно оптимизировать по скорости, но не хотят перекладывать эту работу на компилятор.
источник

C

Crush_my_love in Ассемблер
Кто-нибудь может объяснить почему когда я записываю в регистр rax двойное слово, то там допустим вместо числа 100, я получаю неадекватно большое число. Это всё потому, что последние 4 байта регистра заполняются мусором?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
Crush_my_love
Кто-нибудь может объяснить почему когда я записываю в регистр rax двойное слово, то там допустим вместо числа 100, я получаю неадекватно большое число. Это всё потому, что последние 4 байта регистра заполняются мусором?
нет, не заполняются, а остаются без изменения
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
и как ты заполняешь покажи?
источник

C

Crush_my_love in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
нет, не заполняются, а остаются без изменения
секунду
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
с этим надо быть внимаетльным, особенно с функциями си
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
вот я здесь никак не мог понять в чем косяк
источник

C

Crush_my_love in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
и как ты заполняешь покажи?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in Ассемблер
mov rax, dword[a]
источник