Size: a a a

Ассемблер

2020 July 29

RS

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

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Rusty Shackleford
сам свои собственные да, но это будет не комильфо так сказать ) если кто-то попробует твои ф-ии потом вызвать
поэтому это СОГЛАШЕНИЕ между программистами. я вызваю так свои функции, ты должен делать точно так же. а то у нас весь проект по **зде пойдет
источник

RS

Rusty Shackleford in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
поэтому это СОГЛАШЕНИЕ между программистами. я вызваю так свои функции, ты должен делать точно так же. а то у нас весь проект по **зде пойдет
да, я не вижу противоречий с тем что я пишу )
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Rusty Shackleford
пользовательские, системные вроде все stdcall
а это что?
источник

RS

Rusty Shackleford in Ассемблер
так я и написал тоже самое )) пользовательские как угодно а системные фасткалл, именно потому что соглашение строгое в x64
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Rusty Shackleford
так я и написал тоже самое )) пользовательские как угодно а системные фасткалл, именно потому что соглашение строгое в x64
ты сделал перечисление типов функций которые вызываются stdcall (пользовательские, системные)
источник

RS

Rusty Shackleford in Ассемблер
В отличие от Win32, в Win64 используется модель вызова fastcall. В Win32 использовались три модели вызова функций: cdecl, stdcall и fastcall. Модель вызова - пожалуй, самое значимое отличие Win64 от Win32. Разработчики 64-разрядных операционных систем Windows стандартизировали вызов функций в Win64; теперь все функции, которые предоставляет ОС, можно вызывать только по соглашению
fastcall (разумеется, свои собственные функции можно вызывать как вам удобнее)
источник

RS

Rusty Shackleford in Ассемблер
R G
ну так, получается в коде аблязова их (10й, 11й, и 12й арг) записывают в теневую область зачем-то, если учесть что она внизу. Если все же теневая все таки на верхушке стека, то вроде все сходится..
Посмотрел у Пирогова с картинками про вызовы в x64, теневая область рядом с вершиной, сразу за адресом возврата, так что все верно у Аблязова
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Переслано от Aiwan ╭∩╮ (òÓ,) ╭∩╮...
эти отладчики (или досбоксы) меня доканают. делю 120/255. в досХ double 255.0 отображается как 100 , в простом как 255 (в сеции данных поставлено отображение double, отлаживаемая прога 1:1)
источник

A

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

ST

Saenro T in Ассемблер
Поиграйся с чётными/нечётными отрицательными числами — офигеешь.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
Переслано от Aiwan ╭∩╮ (òÓ,) ╭∩╮
эти отладчики (или досбоксы) меня доканают. делю 120/255. в досХ double 255.0 отображается как 100 , в простом как 255 (в сеции данных поставлено отображение double, отлаживаемая прога 1:1)
судя по разным значениям в стеке, подозреваю что и локальные данные (как 255.0) определны неправильно. мож проблема в фасме?
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Saenro T
Поиграйся с чётными/нечётными отрицательными числами — офигеешь.
и как это связано? как избавиться от неоднозначности ответа при вычислениях?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
получается нарушается принцип "что написал то и получил"
источник

RG

R G in Ассемблер
Rusty Shackleford
Посмотрел у Пирогова с картинками про вызовы в x64, теневая область рядом с вершиной, сразу за адресом возврата, так что все верно у Аблязова
все, понял, спс
источник

A

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

- что по сравнению с си, только асм может работать с вещественными числами длиной до 80бит
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
хотя погодь, long double это сколько?
источник