Этот вопрос задается, потому что автор создает компилятор (src -> asm) и находится в процессе написания кода для генерации кода сборки.
Одна из первых вещейэто происходит, когда программа выполняется в операционной системе на базе Linux (любой другой ОС), когда стек настраивается и регистру SP назначается адрес памяти начала стека.
Мне было любопытноо том, лежит ли ответственность за выполнение вышеперечисленного за программу или за саму ОС.Если дело в том, что ответственность лежит на программе, то как это выполняется программой (в частности, в базовой среде Linux)?
Какие другие действия должна выполнить отдельная программа, прежде чем она сможет начать выполнение своей программы?main function?
Примеры с комментируемым кодом сборки i386 NASM приветствуются.Кроме того, любой веб-ресурс, который мог бы помочь автору в его цели, также был бы очень признателен.