+7 (495) 987 43 74 ext. 3304
Join us -              
Рус   |   Eng

Authors

Pirogov V.

Degree
PhD in Physics & and Mathematics, Assistant Professor, Shadrinsk Pedagogical Institute
E-mail
Vladislav-133@yandex.ru
Location
Shadrinsk
Articles

Operating systems supporting x86–64 instruction set, with a low-level programming point of view

As the title implies the paper considers 64‑bit enhancement of x86 (x86-64) and features of the 64‑bit operating systems. There are some new characteristics of the architecture x86–64 such as 64‑bit integer capability, additional registers, larger physical address space, RIP-relative addressing, additional XMM registers, etc. Some of these issues are reflected in our article. We focus on the main features of this specification with the point of view of programming. Much attention in our paper is given to such concepts as «red zone» and «shadow space», which are associated with calling conventions. The paper speaks in detail on the differences in the approaches (regarding calling conventions) adopted in families of 64‑bit operating systems Windows and UNIX. We compare the low-level program architecture for different operating systems supporting the x86–64 specification. The paper gives examples of analysis of the executable code, which are compiled for operating systems with different calling conventions. For the purity of the experiment the programs for different operating systems are translated by compilers of C from the GNU Compiler Collection (GCC). For the study of executable code for 64‑bit operating systems Windows and UNIX, we used the disassembler IDA PRO version 5.5.
Read more...