Skip to main content

Assembly Language

  • Chapter
  • First Online:
Low-Level Programming
  • 4634 Accesses

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The NASM manual also uses the name “pseudo instruction” for a specific subset of directives.

  2. 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. 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. 4.

    The subscript denotes the number system’s base.

  5. 5.

    This action is impossible to encode using the mov command. Check Intel docs to verify that it is not implemented.

  6. 6.

    In fact, by decreasing rsp you allocate memory on the stack.

  7. 7.

    We consider spaces, tabulation, and line breaks as whitespace characters. Their codes are 0x20, 0x9, and 0x10, respectively.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Publish with us

Policies and ethics