Archived
1
0
Fork 0
This commit is contained in:
nihonium 2022-03-21 18:48:42 +03:00
parent eeb7752c6d
commit fd4c26850b
Signed by: nihonium
GPG key ID: 0251623741027CFC

View file

@ -41,14 +41,14 @@ result in eax register (number of printed arguments)
* x resb(w/d/q) 1 * x resb(w/d/q) 1
* В глобальных переменных - нуль (по умолчанию) * В глобальных переменных - нуль (по умолчанию)
* section (segment - устар.) * section (segment - устар.)
``` ```
.text (код) .text (код)
.data (иниц. данные) .data (иниц. данные)
.rdata (константы) .rdata (константы)
.bss (неиниц. данные) .bss (неиниц. данные)
``` ```
* .bss хранится в виде размера (выделяется в момент запуска) * .bss хранится в виде размера (выделяется в момент запуска)
``` ```
section .text section .text
push push
push push
@ -57,11 +57,13 @@ result in eax register (number of printed arguments)
str db '%d',0 str db '%d',0
section .bss section .bss
x resd 1 x resd 1
``` ```
* global (например, main) * global (например, main)
```
global main ```
``` global main
```
* Добавляет подчеркивания к меткам, _main, например (M$ only) * Добавляет подчеркивания к меткам, _main, например (M$ only)
* Вместо линковки вызываем gcc (gcc знает, где стандартная библиотека) * Вместо линковки вызываем gcc (gcc знает, где стандартная библиотека)
* Конвенция fastcall (часть аргументов через регистры, 6 регистров для Linux, в прямом порядке, прочее - в стек в обратном) * Конвенция fastcall (часть аргументов через регистры, 6 регистров для Linux, в прямом порядке, прочее - в стек в обратном)