Size: a a a

Ассемблер

2020 May 23

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
или 00402000h метка start в коде
.code
start:
источник

Y

YorkIsMine in Ассемблер
ох, говорили бы просто адрес, а то метки тут, смещения всякие)
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
ок, метка это адрес.
даже вот такой есть @@: - безимянная метка
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
mov eax,0
mov ecx,10
@@:
inc eax
loop @b
@b - back, @f - forward
источник

A

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

Y

YorkIsMine in Ассемблер
то есть получается obj нужен для разных видов процессора, где у каждого свои могут быть адреса, а линковщик их заполняет
источник

楽園松本 in Ассемблер
YorkIsMine
ох, говорили бы просто адрес, а то метки тут, смещения всякие)
Есть разные термины:
Адрес;
Смещение;
-----
Метка;
Символ
источник

A

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

Y

YorkIsMine in Ассемблер
Про процессоры, у которых CISC архитектура, но сами процессоры разные
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
YorkIsMine
Про процессоры, у которых CISC архитектура, но сами процессоры разные
разные процессоры с cisc архитектурой - это разные процессоры могут быть. например IA-64 и x86-64.  оба cisc, оба интелы, но несовместимы между собой
источник

Y

YorkIsMine in Ассемблер
странно это все. Линковщик нужен для заполнения адресов. Адреса зависят от процессора -> значит линковщик работает с разными видами процессоров и делает так, что obj на единой архитектуре имел схожий вид
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
YorkIsMine
странно это все. Линковщик нужен для заполнения адресов. Адреса зависят от процессора -> значит линковщик работает с разными видами процессоров и делает так, что obj на единой архитектуре имел схожий вид
линкощик это прорамма и она зависит от ОС
источник

A

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

A

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

Y

YorkIsMine in Ассемблер
понял
источник

Y

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

Y

YorkIsMine in Ассемблер
адреса же которые предоставляет ОС, это адреса оперативной памяти?
источник

楽園松本 in Ассемблер
YorkIsMine
адреса же которые предоставляет ОС, это адреса оперативной памяти?
Нет. ОС разместит программу где-то в памяти. Заранее не известно, в каких ячейках.
источник

楽園松本 in Ассемблер
Именно поэтому используется термин "смещение". Смещение относительно чего? Индексного регистра. Значение в индексный регистр подставит ОС во время загрузки исполняемого модуля.
источник