Size: a a a

Ассемблер

2020 September 28

RS

Rusty Shackleford in Ассемблер
он через регистр позвращается
источник

RS

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

RS

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

RS

Rusty Shackleford in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
как я тя вообще такой вопрос появился?
всё от слабого знания архитекруты ось, надо русиновича всетаки дочитать )
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
ExitProcess возвращает код выполнения программы, подозреваю что через eax
не возвращает,а определяет код выхода
источник

RS

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

A

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

RS

Rusty Shackleford in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
значит эт забота ядерных функций, а не твоя
ну вот дело в том, что есть calling saved регистры а есть caller saved регистры, одни должны сохраняться вызывающей процедурой другие вызываемой
источник

A

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

RS

Rusty Shackleford in Ассемблер
ахаха))
источник

RS

Rusty Shackleford in Ассемблер
да, что то я уже слишком далеко ушел мыслью ))
источник

A

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

A

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

RS

Rusty Shackleford in Ассемблер
стек ?
источник

RS

Rusty Shackleford in Ассемблер
RSP
источник

A

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

s

s54816 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
по другому сспрошу, можешь написать программу которая сама должна сохранячть (с руки программиста) регистры, и так, что если этого не сделать прога не запустится/ОС засбоит/или еще что случится (изза того что прогер не сохранил регистры в начале и не восстановил в конце)
После возврата из точки входа винда вызывает ExitThread. Так что в теории ничего сломаться не сможет, лишь бы rsp был в порядке. И в новых версиях винды это вряд ли сломают, потому что какой-то софт наверняка уже надеется на возможность портить регистры в энтрипоинте.
источник

RS

Rusty Shackleford in Ассемблер
вобщем понятно, можно забить болт на регистры при завершенни программы, пока для моих потребностей этого знания достаточно
источник

RS

Rusty Shackleford in Ассемблер
эх осилить бы Русиновича, а если еще кроме прочтения и понять все, о чем он пишет ... ))
источник