Abstract
In this chapter we will start practicing assembly language by gradually writing more complex programs for Linux. We will observe some architecture details that impact the writing of all kinds of programs (e.g., endianness).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The NASM manual also uses the name “pseudo instruction” for a specific subset of directives.
- 2.
Remember: all source code, including listings, can be found on www.apress.com/us/book/9781484224021 and is also stored in the home directory of the preconfigured virtual machine!
- 3.
Even if not, soon the sequential execution will lead the processor to the end of allocated virtual addresses, see section 4.2. In the end, the operating system will terminate the program because it is unlikely that the latter will recover from it.
- 4.
The subscript denotes the number system’s base.
- 5.
This action is impossible to encode using the mov command. Check Intel docs to verify that it is not implemented.
- 6.
In fact, by decreasing rsp you allocate memory on the stack.
- 7.
We consider spaces, tabulation, and line breaks as whitespace characters. Their codes are 0x20, 0x9, and 0x10, respectively.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2017 Igor Zhirkov
About this chapter
Cite this chapter
Zhirkov, I. (2017). Assembly Language. In: Low-Level Programming. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-2403-8_2
Download citation
DOI: https://doi.org/10.1007/978-1-4842-2403-8_2
Published:
Publisher Name: Apress, Berkeley, CA
Print ISBN: 978-1-4842-2402-1
Online ISBN: 978-1-4842-2403-8
eBook Packages: Professional and Applied ComputingProfessional and Applied Computing (R0)Apress Access Books