Size: a a a

Ассемблер

2021 September 06

E

Egor in Ассемблер
Windows 7
источник

БЗ

Богдан Зараник... in Ассемблер
Аахаххаа.)
источник

A

Aleksandr in Ассемблер
GetCursorPos
источник

d

disba1ancer in Ассемблер
На асме такую ошибку допустить сложнее, ибо в случае с асмом это больно бьёт по рукам, и такие ошибки допускаются всё реже
источник

E

Entusiast in Ассемблер
"Сказал, как отрезал"
источник

s

s54816 in Ассемблер
На асме такую ошибку допустить сложнее, потому что асм не портабельный от слова совсем. Даже под тем же самым процессором в том же самом режиме, но на другой ОС кусок кода и то может потребовать доработок. А в статье взяли, и пересобрали под 64-битный режим код, написанный во времена, когда никаких 64 бит не было.
источник

d

disba1ancer in Ассемблер
Так спор ни о чем, имхо, адресная арифметика в каждом языке своя, зачастую похожа на сишку, но она имеет четкое определение означающее что должно быть пряс как в сишке
источник

s

s54816 in Ассемблер
На самом деле проблема спора была в русском языке. Потому что у нормальных людей это называется pointer arithmetic, но вот на русский её любят переводить как адресную.
источник

d

disba1ancer in Ассемблер
Для этого и придумали всякие size_t, uintptr_t, и т.п.
источник

d

disba1ancer in Ассемблер
Для меня это синонимы зависимые от контекста
источник

E

Entusiast in Ассемблер
Прикол в том, что где я не гуглил - я находил один ответ - "адресная арифметика это арифметика над указателями (адресами), т.е вычисление\сравнение указателей"
Не смотря на то, что какой-то Etherum на каком-то cyberforum в одном посте, будто, процитировал s54816 - "Так и есть, потому что в Си адресная арифметика есть, а в ассемблере - нет"
Но это ещё не смотря на кучу определений адресной арифметики, которые перетягивают на мою сторону, и ещё адресную арифметику на ассемблере в одной статье по ARM, и по статье с организации памяти (адресная арифметика реализована в процессорах)

Я всё же за то, что адресная арифметика никак вообще не звучит, и не связана с "компилятор подставляет размер типа данных указателя". А это значит, что в ассемблере адресная арифметика есть!
источник

s

s54816 in Ассемблер
В девяностых было совсем не очевидно, зачем оно нужно, и куча кода использовала тупо int (в лучшем случае long). Когда код начинали собирать под 64 бита, повылазили проблемы, и люди начали узнавать, что вообще существуют size_t. Сейчас получше стало.
источник

s

s54816 in Ассемблер
Вот мне было интересно, когда ты про lodsd вспомнишь, а ты не вспомнил. Даже скучно.
источник

E

Entusiast in Ассемблер
Плохо, что тебе скучно. Уже весь иссяк, из-за предела своих знаний.
Развивайся
источник

s

s54816 in Ассемблер
Мне уже поздно :)
источник

E

Entusiast in Ассемблер
Так может отмазаться любой в этом чате

И, кстати, каждый в чате может сказать, что ему "скучно от всех этих лёгких вопросов"))
источник

II

Ira Irina in Ассемблер
в си как то намного более четко, есть тип данных, допустим указатель на int. И для этого типа данных определен оператор "+". То есть буквально в коде можно найти место, где скрывается адресная арифметика. В ассемблере если она и есть, то очень размыто как-то.
источник

D

Dr.web in Ассемблер
оно и логично
источник

ДЦ

Дмитро Цимбалюк... in Ассемблер
лишь бы не запутаться в адресной арифметике там
источник

D

Dr.web in Ассемблер
+
источник