Muutke küpsiste eelistusi

E-raamat: ARM 64-Bit Assembly Language

(Department of Electrical Engineering and Computer Science, South Dakota School of Mines and Technology, USA), (Undergraduate
Computer Science
Princeton University)
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 14-Nov-2019
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • Keel: eng
  • ISBN-13: 9780128192221
  • Formaat - EPUB+DRM
  • Hind: 79,10 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 14-Nov-2019
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • Keel: eng
  • ISBN-13: 9780128192221

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

ARM 64-Bit Assembly Language carefully explains the concepts of assembly language programming, slowly building from simple examples towards complex programming on bare-metal embedded systems. Considerable emphasis is put on showing how to develop good, structured assembly code. More advanced topics such as fixed and floating point mathematics, optimization and the ARM VFP and NEON extensions are also covered. This book will help readers understand representations of, and arithmetic operations on, integral and real numbers in any base, giving them a basic understanding of processor architectures, instruction sets, and more.

This resource provides an ideal introduction to the principles of 64-bit ARM assembly programming for both the professional engineer and computer engineering student, as well as the dedicated hobbyist with a 64-bit ARM-based computer.

  • Represents the first true 64-bit ARM textbook
  • Covers advanced topics such as ?xed and ?oating point mathematics, optimization and ARM NEON
  • Uses standard, free open-source tools rather than expensive proprietary tools
  • Provides concepts that are illustrated and reinforced with a large number of tested and debugged assembly and C source listings
List of tables
xi
List of figures
xiii
Preface
Chapter 1 Introduction
1(32)
1.1 Reasons to learn assembly
2(3)
1.2 The ARM processor
5(2)
1.3 Computer data
7(20)
1.4 Memory layout of an executing program
27(2)
1.5
Chapter summary
29(1)
Exercises
30(3)
Chapter 2 GNU assembly syntax
33(20)
2.1 Structure of an assembly program
33(3)
2.2 What the assembler does
36(1)
2.3 GNU assembly directives
37(12)
2.4
Chapter summary
49(1)
Exercises
49(4)
Chapter 3 Load/store and branch instructions
53(30)
3.1 CPU components and data paths
53(1)
3.2 AArch64 user registers
54(4)
3.3 Instruction components
58(7)
3.4 Load and store instructions
65(5)
3.5 Branch instructions
70(10)
3.6
Chapter summary
80(1)
Exercises
80(3)
Chapter 4 Data processing and other instructions
83(30)
4.1 Operand2
83(3)
4.2 Data processing instructions
86(18)
4.3 Special instructions
104(4)
4.4 Alphabetized list of AArch64 instructions
108(2)
4.5
Chapter summary
110(1)
Exercises
110(3)
Chapter 5 Structured programming
113(42)
5.1 Sequencing
114(1)
5.2 Selection
114(5)
5.3 Iteration
119(5)
5.4 Subroutines
124(18)
5.5 Aggregate data types
142(6)
5.6
Chapter summary
148(2)
Exercises
150(5)
Chapter 6 Abstract data types
155(1)
6.1 ADTs in assembly language
155(3)
6.2 Word frequency counts
158(20)
6.3 Ethics case study: Therac-25
178(5)
6.4
Chapter summary
183(1)
Exercises
183(4)
Chapter 7 Integer mathematics
187(1)
7.1 Subtraction by addition
187(2)
7.2 Binary multiplication
189(9)
7.3 Binary division
198(14)
7.4 Big integer ADT
212(24)
7.5
Chapter summary
236(1)
Exercises
236(3)
Chapter 8 Non-integral mathematics
239(54)
8.1 Base conversion of fractional numbers
239(4)
8.2 Fractions and bases
243(3)
8.3 Fixed point numbers
246(6)
8.4 Fixed point operations
252(11)
8.5 Fixed point input and output
263(4)
8.6 Computing sine and cosine
267(16)
8.7 Floating point numbers
283(4)
8.8 Floating point operations
287(1)
8.9 Ethics case study: patriot missile failure
288(2)
8.10
Chapter summary
290(1)
Exercises
291(2)
Chapter 9 Floating point
293(30)
9.1 Floating point overview
293(3)
9.2 Register usage rules
296(1)
9.3 Floating point control and status registers
296(3)
9.4 Load/store instructions
299(3)
9.5 Data movement instructions
302(2)
9.6 Data conversion instructions
304(3)
9.7 Data processing instructions
307(7)
9.8 Floating point sine function
314(3)
9.9 Alphabetized list of FP/NEON instructions
317(2)
9.10
Chapter summary
319(1)
Exercises
319(4)
Chapter 10 Advanced SIMD instructions
323(82)
10.1 Instruction syntax
323(3)
10.2 Load and store instructions
326(7)
10.3 Data movement instructions
333(9)
10.4 Data conversion
342(4)
10.5 Bitwise logical operations
346(2)
10.6 Basic arithmetic instructions
348(13)
10.7 Multiplication and division
361(11)
10.8 Shift instructions
372(10)
10.9 Unary arithmetic
382(3)
10.10 Vector reduce instructions
385(3)
10.11 Comparison operations
388(5)
10.12 Performance mathematics: a final look at sine
393(4)
10.13 Alphabetized list of advanced SIMD instructions
397(6)
10.14 Advanced SIMD intrinsics
403(1)
10.15
Chapter summary
403(1)
Exercises
404(1)
Chapter 11 Devices
405(40)
11.1 Accessing devices directly under Linux
405(7)
11.2 General purpose digital input/output
412(8)
11.3 Pulse modulation
420(6)
11.4 Common system devices
426(4)
11.5 Serial communications
430(12)
11.6
Chapter summary
442(1)
Exercises
443(2)
Chapter 12 Running without an operating system
445(36)
12.1 Exception processing
446(1)
12.2 AArch64 execution and exception states
447(4)
12.3 AArch64 vector table
451(6)
12.4 The boot process
457(1)
12.5 Writing a bare metal program
457(9)
12.6 Using an interrupt
466(11)
12.7 ARM processor profiles
477(1)
12.8
Chapter summary
478(1)
Exercises
478(3)
Index 481
Larry Pyeatt earned his doctorate in Computer Science, focusing on Artificial Intelligence, from Colorado State University in 1999. He spent 13 years as a professor at Texas Tech University before moving to the South Dakota School of Mines and Technology in 2012. He has programmed in over 15 assembly languages, from mainframes to 8-bit embedded systems, and teaches a variety of courses including assembly language, operating systems, computer architecture, and probabilistic artificial intelligence. William Ughetta is an undergraduate Computer Science major at Princeton University. His experience programming ARM assembly language started in high school and continued in college. He looks forward to the increasingly-relevant role of ARM 64-BIT assembly in personal computing and servers.