Size: a a a

Ассемблер

2021 March 29

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
"Native" переводится как "родной". Т.е. родной для процессора код.
Прослойка вполне может быть (VMware, DOSBox и пр). Просто он и без прослойки может работать (т.е. она может быть, но по факту не требуется... может быть не в данном конкретном случае, но в целом).
Собственно, код, исполняемый эмулятором ZX Spectrum тоже нативный, только он нативный для Z80, а не для x86.
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
С другой стороны, код может быть нативным для 64-битного защищённого режима, но в DOS исполняться не может. Хотя для процессора и такой, и другой код нативный, если это не очевидно из контекста разговора (для процессора в целом, а не конкретного его режима работы) :)
Короче говоря, лучше всегда уточнять, для какого процессора он нативный. И для какого случая (режима процессора, ОС и пр), если это имеет значение.
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
По идее, байткод тоже может быть нативным по отношению к виртуальной машине :))
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Но обычно так не говорят.
источник

A

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

A

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

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Так вот я и говорю, что код может быть нативным для спектрума и для эмулятора спектрума, который запущен на x86 под Windows. Для x86 он уже будет не нативным. А вот код самого эмулятора будет нативным для x86 и Windows x86. А вот для Linux (хоть и запущенном на x86) он уже нативным не будет. Это я к тому, что можно нативность определять не только по отношению к процессору, но и к ОС, например.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Eugene Krasnikov (ᴊɪɴ x)
Так вот я и говорю, что код может быть нативным для спектрума и для эмулятора спектрума, который запущен на x86 под Windows. Для x86 он уже будет не нативным. А вот код самого эмулятора будет нативным для x86 и Windows x86. А вот для Linux (хоть и запущенном на x86) он уже нативным не будет. Это я к тому, что можно нативность определять не только по отношению к процессору, но и к ОС, например.
эт уже вопрос о совместимости апи различных ОС, а  не инструкций проца
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
эт уже вопрос о совместимости апи различных ОС, а  не инструкций проца
Да. Просто понятие "код" несколько шире, чем просто набор инструкций.
В данном случае это почти аналогично понятию "программа".
источник

a

asm in Ассемблер
Добро пожаловать Weltzhoric Boyara. Не ответив на вопрос, будешь удалён из чата
источник

АШ

Алексей Шведов... in Ассемблер
__asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC


Зачем это нужно? Обнаружил в чужом коде
источник

pl

pretty leaf in Ассемблер
0xCC - это же наполнитель, вроде, при дебаге
источник

АШ

Алексей Шведов... in Ассемблер
т.е можно убрать?
источник

pl

pretty leaf in Ассемблер
Не знаю
источник

pl

pretty leaf in Ассемблер
Попробуй
источник

АШ

Алексей Шведов... in Ассемблер
Там вообще он задефайнил как EndFunction
источник

АШ

Алексей Шведов... in Ассемблер
#define EndFunction __asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Алексей Шведов
__asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC __asm _emit 0xCC


Зачем это нужно? Обнаружил в чужом коде
int3 вроде
источник

АШ

Алексей Шведов... in Ассемблер
Ааа
источник

АШ

Алексей Шведов... in Ассемблер
Теперь понял, почему EndFunction
источник