The ARM Instruction Set

Total Page:16

File Type:pdf, Size:1020Kb

The ARM Instruction Set APPENDIX A The ARM Instruction Set This appendix lists the core ARM 32-bit instruction set, with a brief description of each instruction. Instruction Description ADC, ADD Add with Carry, Add ADR Load program or register-relative address (short range) AND Logical AND ASR Arithmetic Shift Right B Branch BFC, BFI Bit Field Clear and Insert BIC Bit Clear BKPT Software breakpoint BL Branch with Link BLX Branch with Link, change instruction set BLXNS Branch with Link and Exchange (Non-secure) BX Branch, change instruction set BXNS Branch and Exchange (Non-secure) (continued) © Stephen Smith 2019 317 S. Smith, Raspberry Pi Assembly Language Programming, https://doi.org/10.1007/978-1-4842-5287-1 APPENDIX A The ARM InstrUction Set Instruction Description CBZ, CBNZ Compare and Branch if {Non}Zero CDP Coprocessor Data Processing operation CDP2 Coprocessor Data Processing operation CLREX Clear Exclusive CLZ Count leading zeros CMN, CMP Compare Negative, Compare CPS Change Processor State CRC32 Cyclic Redundancy Check 32 CRC32C Cyclic Redundancy Check 32C CSDB Consumption of Speculative Data Barrier DBG Debug DCPS1 Debug switch to exception level 1 DCPS2 Debug switch to exception level 2 DCPS3 Debug switch to exception level 3 DMB, DSB Data Memory Barrier, Data Synchronization Barrier DSB Data Synchronization Barrier EOR Exclusive OR ERET Exception Return ESB Error Synchronization Barrier HLT Halting breakpoint HVC Hypervisor Call ISB Instruction Synchronization Barrier IT If-Then (continued) 318 APPENDIX A The ARM InstrUction Set Instruction Description LDAEX, LDAEXB Load-Acquire Register Exclusive Word, Byte LDAEXH Load-Acquire Register Exclusive Halfword LDAEXD Load-Acquire Register Exclusive Doubleword LDC, LDC2 Load Coprocessor LDM Load Multiple registers LDR Load Register with word LDA, LDAB Load-Acquire Register Word, Byte LDAH Load-Acquire Register Halfword LDRB Load Register with Byte LDRBT Load Register with Byte, user mode LDRD Load Registers with two words LDREX, LDREXB Load Register Exclusive Word, Byte LDREXH Load Register Exclusive Halfword LDREXD Load Register Exclusive Doubleword LDRH Load Register with Halfword LDRHT Load Register with Halfword, user mode LDRSB Load Register with Signed Byte LDRSBT Load Register with Signed Byte, user mode LDRSH Load Register with Signed Halfword LDRSHT Load Register with Signed Halfword, user mode LDRT Load Register with word, user mode LSL, LSR Logical Shift Left, Logical Shift Right MCR Move to Coprocessor from Register (continued) 319 APPENDIX A The ARM InstrUction Set Instruction Description MCRR Move to Coprocessor from Registers MLA Multiply Accumulate MLS Multiply and Subtract MOV Move MOVT Move Top MRC Move from Coprocessor to Register MRRC Move from Coprocessor to Registers MRS Move from PSR to Register MSR Move from Register to PSR MUL Multiply MVN Move Not NOP No Operation ORN Logical OR NOT ORR Logical OR PKHBT, PKHTB Pack Halfwords PLD Preload Data PLDW Preload Data with intent to Write PLI Preload Instruction PUSH, POP PUSH registers to stack, POP registers from stack QADD, QDADD Saturating arithmetic QDSUB, QSUB Saturating arithmetic QADD8 Parallel signed saturating arithmetic QADD16, QASX Parallel signed saturating arithmetic (continued) 320 APPENDIX A The ARM InstrUction Set Instruction Description QSUB8 Parallel signed saturating arithmetic QSUB16 Parallel signed saturating arithmetic QSAX Parallel signed saturating arithmetic RBIT Reverse Bits REV, REV16 Reverse byte order REVSH Reverse byte order RFE Return from Exception ROR Rotate Right Register RRX Rotate Right with Extend RSB Reverse Subtract RSC Reverse Subtract with Carry SADD8, SADD16 Parallel Signed arithmetic SASX Parallel Signed arithmetic SBC Subtract with Carry SBFX, UBFX Signed, Unsigned Bit Field eXtract SDIV Signed Divide SEL Select bytes according to APSR GE flags SETEND Set Endianness for memory accesses SETPAN Set Privileged Access Never SEV Set Event SEVL Set Event Locally SG Secure Gateway SHADD8 Parallel Signed Halving arithmetic (continued) 321 APPENDIX A The ARM InstrUction Set Instruction Description SHADD16 Parallel Signed Halving arithmetic SHASX, SHSUB8 Parallel Signed Halving arithmetic SHSUB16 Parallel Signed Halving arithmetic SHSAX Parallel Signed Halving arithmetic SMC Secure Monitor Call SMLAxy Signed Multiply with Accumulate SMLAD Dual Signed Multiply Accumulate SMLAWy Signed Multiply with Accumulate SMLSD Dual Signed Multiply Subtract Accumulate SMLSLD Dual Signed Multiply Subtract Accumulate Long SMMLA Signed top word Multiply with Accumulate SMMLS Signed top word Multiply with Subtract SMMUL Signed top word Multiply SMUAD Dual Signed Multiply, and Add products SMUSD Dual Signed Multiply, and Subtract products SMULxy Signed Multiply SMULL Signed Multiply SMULWy Signed Multiply SRS Store Return State SSAT Signed Saturate SSAT16 Signed Saturate, parallel halfwords SSUB8, SSUB16 Parallel Signed arithmetic SSAX Parallel Signed arithmetic (continued) 322 APPENDIX A The ARM InstrUction Set Instruction Description STC Store Coprocessor STM Store Multiple registers STR Store Register with word STRB Store Register with Byte STRBT Store Register with Byte, user mode STRD Store Registers with two words STREX, STREXB Store Register Exclusive Word, Byte STREXH,STREXD Store Register Exclusive Halfword, Doubleword STRH Store Register with Halfword STRHT Store Register with Halfword, user mode STL, STLB, STLH Store-Release Word, Byte, Halfword STLEX, STLEXB Store-Release Exclusive Word, Byte STLEXH, STLEXD Store-Release Exclusive Halfword, Doubleword STRT Store Register with word, user mode SUB Subtract SUBS pc, lr Exception return, no stack SVC Supervisor Call SXTAB Signed extend, with Addition SXTAB16 Signed extend, with Addition SXTAH Signed extend, with Addition SXTB, SXTH Signed extend SXTB16 Signed extend SYS Execute System coprocessor instruction (continued) 323 APPENDIX A The ARM InstrUction Set Instruction Description TBB, TBH Table Branch Byte, Halfword TEQ Test Equivalence TST Test TT, TTT, TTA Test Target (Alternate Domain, Unprivileged) TTAT Test Target (Alternate Domain, Unprivileged) UADD8 Parallel Unsigned arithmetic UADD16, UASX Parallel Unsigned arithmetic UDF Permanently Undefined UDIV Unsigned Divide UHADD8 Parallel Unsigned Halving arithmetic UHADD16 Parallel Unsigned Halving arithmetic UHASX Parallel Unsigned Halving arithmetic UHSUB8 Parallel Unsigned Halving arithmetic UHSUB16 Parallel Unsigned Halving arithmetic UHSAX Parallel Unsigned Halving arithmetic UMAAL Unsigned Multiply Accumulate Long UMLAL, UMULL Unsigned Multiply Accumulate, Unsigned Multiply UQADD8 Parallel Unsigned Saturating arithmetic UQADD16 Parallel Unsigned Saturating arithmetic UQASX Parallel Unsigned Saturating arithmetic UQSUB8 Parallel Unsigned Saturating arithmetic UQSUB16 Parallel Unsigned Saturating arithmetic UQSAX Parallel Unsigned Saturating arithmetic (continued) 324 APPENDIX A The ARM InstrUction Set Instruction Description USAD8 Unsigned Sum of Absolute Differences USADA8 Accumulate Unsigned Sum of Absolute Differences USAT Unsigned Saturate USAT16 Unsigned Saturate, parallel halfwords USUB8 Parallel Unsigned arithmetic USUB16, USAX Parallel Unsigned arithmetic UXTAB Unsigned extend with Addition UXTAB16 Unsigned extend with Addition UXTAH Unsigned extend with Addition UXTB, UXTH Unsigned extend UXTB16 Unsigned extend V∗ Advanced FPU or SIMD Instructions WFE, WFI Wait For Event, Wait For Interrupt YIELD Yield 325 APPENDIX B Linux System Calls This appendix lists the system call numbers for all Raspbian’s Linux system services and the error codes that they could return. This is a listing of unistd.s from the source code that accompanies this book. Linux System Call Numbers @ @ Defines for the Linux system calls. @ This list is from Raspbian Buster @ .EQU sys_restart_syscall, 0 @ restart a system call .EQU sys_exit, 1 @ cause normal process termination .EQU sys_fork, 2 @ create a child process .EQU sys_read, 3 @ read from a file descriptor .EQU sys_write, 4 @ write to a file descriptor .EQU sys_open, 5 @ open and possibly create a file .EQU sys_close, 6 @ close a file descriptor .EQU sys_creat, 8 @ create a new file .EQU sys_link, 9 @ make a new name for a file .EQU sys_unlink, 10 @ delete a name and the file it refers to .EQU sys_execve, 11 @ execute program © Stephen Smith 2019 327 S. Smith, Raspberry Pi Assembly Language Programming, https://doi.org/10.1007/978-1-4842-5287-1 APPENDIX B LinUx SYsTeM Calls .EQU sys_chdir, 12 @ change working directory .EQU sys_mknod, 14 @ create a special or ordinary file .EQU sys_chmod, 15 @ change file mode bits .EQU sys_lchown, 16 @ change the owner/group of a symbolic link .EQU sys_lseek, 19 @ reposition read/write file offset .EQU sys_getpid, 20 @ get process identification .EQU sys_mount, 21 @ mount filesystem .EQU sys_setuid, 23 @ set user identity .EQU sys_getuid, 24 @ get user identity .EQU sys_ptrace, 26 @ process trace .EQU sys_pause, 29 @ wait for signal .EQU sys_access, 33 @ check user's permissions for a file .EQU sys_nice, 34 @ change process priority .EQU sys_sync, 36 @ commit filesystem caches to disk .EQU sys_kill, 37 @ send signal to a process .EQU sys_rename, 38 @ change the name or location of a file .EQU sys_mkdir, 39 @ create a directory .EQU sys_rmdir, 40 @ delete a directory .EQU sys_dup, 41 @ duplicate a file descriptor .EQU sys_pipe, 42 @ create pipe .EQU sys_times, 43 @ get process times .EQU sys_brk, 45 @ change data segment size .EQU sys_setgid, 46 @ set group identity .EQU sys_getgid, 47 @ get group identity .EQU sys_geteuid,
Recommended publications
  • Linux Boot Loaders Compared
    Linux Boot Loaders Compared L.C. Benschop May 29, 2003 Copyright c 2002, 2003, L.C. Benschop, Eindhoven, The Netherlands. Per- mission is granted to make verbatim copies of this document. This is version 1.1 which has some minor corrections. Contents 1 introduction 2 2 How Boot Loaders Work 3 2.1 What BIOS does for us . 3 2.2 Parts of a boot loader . 6 2.2.1 boot sector program . 6 2.2.2 second stage of boot loader . 7 2.2.3 Boot loader installer . 8 2.3 Loading the operating system . 8 2.3.1 Loading the Linux kernel . 8 2.3.2 Chain loading . 10 2.4 Configuring the boot loader . 10 3 Example Installations 11 3.1 Example root file system and kernel . 11 3.2 Linux Boot Sector . 11 3.3 LILO . 14 3.4 GNU GRUB . 15 3.5 SYSLINUX . 18 3.6 LOADLIN . 19 3.7 Where Can Boot Loaders Live . 21 1 4 RAM Disks 22 4.1 Living without a RAM disk . 22 4.2 RAM disk devices . 23 4.3 Loading a RAM disk at boot time . 24 4.4 The initial RAM disk . 24 5 Making Diskette Images without Diskettes 25 6 Hard Disk Installation 26 7 CD-ROM Installation 29 8 Conclusions 31 1 introduction If you use Linux on a production system, you will only see it a few times a year. If you are a hobbyist who compiles many kernels or who uses many operating systems, you may see it several times per day.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.1. Copyright 1991, 1993-2016, 2018-2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 132. i Table of Contents GNU MP Copying Conditions :::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP ::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP ::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems :::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance
    [Show full text]
  • Introduction to X86 Assembly
    CS342 Computer Security Handout # 5 Prof. Lyn Turbak Monday, Oct. 04, 2010 Wellesley College Lab 4: Introduction to x86 Assembly Reading: Hacking, 0x250, 0x270 Overview Today, we continue to cover low-level programming details that are essential for understanding software vulnerabilities like buffer overflow attacks and format string exploits. You will get exposure to the following: • Understanding conventions used by compiler to translate high-level programs to low-level assembly code (in our case, using Gnu C Compiler (gcc) to compile C programs). • The ability to read low-level assembly code (in our case, Intel x86). • Understanding how assembly code instructions are represented as machine code. • Being able to use gdb (the Gnu Debugger) to read the low-level code produced by gcc and understand its execution. In tutorials based on this handout, we will learn about all of the above in the context of some simple examples. Intel x86 Assembly Language Since Intel x86 processors are ubiquitous, it is helpful to know how to read assembly code for these processors. We will use the following terms: byte refers to 8-bit quantities; short word refers to 16-bit quantities; word refers to 32-bit quantities; and long word refers to 64-bit quantities. There are many registers, but we mostly care about the following: • EAX, EBX, ECX, EDX are 32-bit registers used for general storage. • ESI and EDI are 32-bit indexing registers that are sometimes used for general storage. • ESP is the 32-bit register for the stack pointer, which holds the address of the element currently at the top of the stack.
    [Show full text]
  • ECE 598 – Advanced Operating Systems Lecture 2
    ECE 598 { Advanced Operating Systems Lecture 2 Vince Weaver http://www.eece.maine.edu/~vweaver [email protected] 15 January 2015 Announcements • Update on room situation (shouldn't be locked anymore, but not much chance of getting a better room) 1 Building Linux by Hand • Check out with git or download tarball: git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git http://www.kernel.org/pub/linux/kernel/v3.x/ • Configure. make config or make menuconfig Also can copy existing .config and run make oldconfig • Compile. 2 make What does make -j 8 do differently? • Make the modules. make modules • sudo make modules install • copy bzImage to boot, update boot loader 3 Building Linux Automated • If in a distro there are other commands to building a package. • For example on Debian make-kpkg --initrd --rootcmd fakeroot kernel image • Then dpkg -i to install; easier to track 4 Overhead (i.e. why not to do it natively on a Pi) • Size { clean git source tree (x86) 1.8GB, compiled with kernel, 2.5GB, compiled kernel with debug features (x86), 12GB!!! Tarball version with compiled kernel (ARM) 1.5GB • Time to compile { minutes (on fast multicore x86 machine) to hours (18 hours or so on Pi) 5 Linux on the Pi • Mainline kernel, bcm2835 tree Missing some features • Raspberry-pi foundation bcm2708 tree More complete, not upstream 6 Compiling { how does it work? • Take C-code • Turn into assembler • Run assembler to make object (machine language files). Final addresses not necessarily put into place • Run linker (which uses linker script) • Makes some sort of executable.
    [Show full text]
  • IT Acronyms.Docx
    List of computing and IT abbreviations /.—Slashdot 1GL—First-Generation Programming Language 1NF—First Normal Form 10B2—10BASE-2 10B5—10BASE-5 10B-F—10BASE-F 10B-FB—10BASE-FB 10B-FL—10BASE-FL 10B-FP—10BASE-FP 10B-T—10BASE-T 100B-FX—100BASE-FX 100B-T—100BASE-T 100B-TX—100BASE-TX 100BVG—100BASE-VG 286—Intel 80286 processor 2B1Q—2 Binary 1 Quaternary 2GL—Second-Generation Programming Language 2NF—Second Normal Form 3GL—Third-Generation Programming Language 3NF—Third Normal Form 386—Intel 80386 processor 1 486—Intel 80486 processor 4B5BLF—4 Byte 5 Byte Local Fiber 4GL—Fourth-Generation Programming Language 4NF—Fourth Normal Form 5GL—Fifth-Generation Programming Language 5NF—Fifth Normal Form 6NF—Sixth Normal Form 8B10BLF—8 Byte 10 Byte Local Fiber A AAT—Average Access Time AA—Anti-Aliasing AAA—Authentication Authorization, Accounting AABB—Axis Aligned Bounding Box AAC—Advanced Audio Coding AAL—ATM Adaptation Layer AALC—ATM Adaptation Layer Connection AARP—AppleTalk Address Resolution Protocol ABCL—Actor-Based Concurrent Language ABI—Application Binary Interface ABM—Asynchronous Balanced Mode ABR—Area Border Router ABR—Auto Baud-Rate detection ABR—Available Bitrate 2 ABR—Average Bitrate AC—Acoustic Coupler AC—Alternating Current ACD—Automatic Call Distributor ACE—Advanced Computing Environment ACF NCP—Advanced Communications Function—Network Control Program ACID—Atomicity Consistency Isolation Durability ACK—ACKnowledgement ACK—Amsterdam Compiler Kit ACL—Access Control List ACL—Active Current
    [Show full text]
  • CS 331 GDB and X86-64 Assembly Language
    CS 331 Spring 2016 GDB and x86-64 Assembly Language I am not a big fan of debuggers for high-level languages. While they are undeniably useful at times, they are no substitute for careful coding. If code is well structured, I usually find it easier to debug analytically (i.e, by staring at it) than by running it through a debugger. In any event, monkey-coding with a debugger is still monkey-coding, and I don’t want to fly in an airplane being guided by monkey-code. The situation in assembly language is quite different. Assembly instructions can be opaque, especially if you aren’t used to programming in assembly language. In addition, I/O at the assembly level is quite complex; printing values at various places in your code is often not an option.. Debuggers are frequently the only way to discover what your code is actually doing. There are nicer assemblers than the gas (gnu assembler) that we will use, but the gas-gdb combination works quite well and is easy to use. In this document we’ll go briefly through the essential commands for gdb. There is more complete documentation available on any of the Linux systems; just type info gdb And, of course, there is no end of documentation online. To assemble your program with hooks for gdb use the hyphen g flag. For example, if your assembly language program is foobar.s you would assemble it wth gcc foobar.s –g –o foobar and then run gdp with gdb foobar You should always have the program visible in an editor that includes line numbers while you run gdb.
    [Show full text]
  • GNU Toolchain for Atmel ARM Embedded Processors
    RELEASE NOTES GNU Toolchain for Atmel ARM Embedded Processors Introduction The Atmel ARM GNU Toolchain (5.3.1.487) supports Atmel ARM® devices. The ARM toolchain is based on the free and open-source GCC. This toolchain is built from sources published by ARM's "GNU Tools for ARM Embedded Processors" project at launchpad.net (https://launchpad.net/gcc-arm-embedded). The toolchain includes compiler, assembler, linker, binutils (GCC and binutils), GNU Debugger (GDB with builtin simulator) and Standard C library (newlib, newlib nano). 42368A-MCU-06/2016 Table of Contents Introduction .................................................................................... 1 1. Supported Configuration ......................................................... 3 1.1. Supported Hosts ................................................................... 3 1.2. Supported Targets ................................................................. 3 2. Downloading, Installing, and Upgrading ................................. 4 2.1. Downloading/Installing on Windows .......................................... 4 2.2. Downloading/Installing on Linux ............................................... 4 2.3. Downloading/Installing on Mac OS ........................................... 4 2.4. Upgrading ............................................................................ 4 3. Layout and Components ......................................................... 5 3.1. Layout ................................................................................. 5 3.2. Components
    [Show full text]
  • An ECMA-55 Minimal BASIC Compiler for X86-64 Linux®
    Computers 2014, 3, 69-116; doi:10.3390/computers3030069 OPEN ACCESS computers ISSN 2073-431X www.mdpi.com/journal/computers Article An ECMA-55 Minimal BASIC Compiler for x86-64 Linux® John Gatewood Ham Burapha University, Faculty of Informatics, 169 Bangsaen Road, Tambon Saensuk, Amphur Muang, Changwat Chonburi 20131, Thailand; E-mail: [email protected] Received: 24 July 2014; in revised form: 17 September 2014 / Accepted: 1 October 2014 / Published: 1 October 2014 Abstract: This paper describes a new non-optimizing compiler for the ECMA-55 Minimal BASIC language that generates x86-64 assembler code for use on the x86-64 Linux® [1] 3.x platform. The compiler was implemented in C99 and the generated assembly language is in the AT&T style and is for the GNU assembler. The generated code is stand-alone and does not require any shared libraries to run, since it makes system calls to the Linux® kernel directly. The floating point math uses the Single Instruction Multiple Data (SIMD) instructions and the compiler fully implements all of the floating point exception handling required by the ECMA-55 standard. This compiler is designed to be small, simple, and easy to understand for people who want to study a compiler that actually implements full error checking on floating point on x86-64 CPUs even if those people have little programming experience. The generated assembly code is also designed to be simple to read. Keywords: BASIC; compiler; AMD64; INTEL64; EM64T; x86-64; assembly 1. Introduction The Beginner’s All-purpose Symbolic Instruction Code (BASIC) language was invented by John G.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • GNU Toolchain for Atmel AVR 32-Bit Embedded Processors
    RELEASE NOTES GNU Toolchain for Atmel AVR 32-bit Embedded Processors Introduction The Atmel AVR® 32-bit GNU Toolchain (3.4.3.820) supports all AVR 32-bit devices. The AVR 32-bit Toolchain is based on the free and open-source GCC compiler. The toolchain includes compiler, assembler, linker, and binutils (GCC and Binutils), Standard C library (Newlib). 32215A-MCU-08/2015 Table of Contents Introduction .................................................................................... 1 1. Installation Instructions .......................................................... 3 1.1. System Requirements ............................................................ 3 1.1.1. Hardware Requirements ............................................. 3 1.1.2. Software Requirements .............................................. 3 1.2. Downloading, Installing, and Upgrading ..................................... 3 1.2.1. Downloading/Installing on Windows .............................. 3 1.2.2. Downloading/Installing on Linux ................................... 3 1.2.3. Upgrading from previous versions ................................ 3 1.2.4. Manifest .................................................................. 3 1.3. Layout ................................................................................. 4 2. Toolset Background ................................................................ 5 2.1. Compiler .............................................................................. 5 2.2. Assembler, Linker, and Librarian .............................................
    [Show full text]
  • Using As, the GNU Assembler
    Using as The gnu Assembler Version 2.14 The Free Software Foundation Inc. thanks The Nice Computer Company of Australia for loaning Dean Elsner to write the first (Vax) version of as for Project gnu. The proprietors, management and staff of TNCCA thank FSF for distracting the boss while they got some work done. Dean Elsner, Jay Fenlason & friends Using as Edited by Cygnus Support Copyright c 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. i Table of Contents 1 Overview .................................. 1 1.1 Structure of this Manual ................................ 12 1.2 The GNU Assembler ................................... 12 1.3 Object File Formats .................................... 12 1.4 Command Line ........................................ 12 1.5 Input Files............................................. 13 1.6 Output (Object) File ................................... 13 1.7 Error and Warning Messages ............................ 14 2 Command-Line Options ................... 15 2.1 Enable Listings: ‘-a[cdhlns]’........................... 15 2.2 ‘-D’ ................................................... 15 2.3 Work Faster: ‘-f’ ...................................... 16 2.4 .include Search Path: ‘-I’ path ........................ 16 2.5 Difference Tables: ‘-K’ .................................. 16 2.6 Include Local Labels: ‘-L’............................... 16 2.7 Configuring listing output: ‘--listing’ .................. 16 2.8 Assemble in MRI Compatibility Mode: ‘-M’ .............. 17 2.9 Dependency Tracking: ‘--MD’............................ 19 2.10 Name the Object File: ‘-o’............................
    [Show full text]
  • The ARM Instruction Set
    APPENDIX A The ARM Instruction Set This appendix lists the ARM 64-bit instruction in two sections: first, the core instruction set, then the NEON and FPU instructions. There is a brief description of each instruction: {S} after an instruction indicates you can optionally set the condition flags. † means the instruction is an alias. ARM 64-Bit Core Instructions Instruction Description ADC{S} Add with carry ADD{S} Add ADDG Add with tag ADR Form PC relative address ADRP Form PC relative address to 4KB page AND{S} Bitwise AND (continued) © Stephen Smith 2020 367 S. Smith, Programming with 64-Bit ARM Assembly Language, https://doi.org/10.1007/978-1-4842-5881-1 AppEndix A THE ARM InstructiOn SEt Instruction Description ASR† Arithmetic shift right ASRV Arithmetic shift right variable AT† Address translate AUTDA, AUTDZA Authenticate data address, using key A AUTDB, AUTDZB Authenticate data address, using key B AUTIA, AUTIA1716 Authenticate instruction address, using key A AUTIASP, AUTIAZ Authenticate instruction address, using key A AUTIZA Authenticate instruction address, using key A AUTIB, AUTIB1716 Authenticate instruction address, using key B AUTIBSP, AUTIBZ Authenticate instruction address, using key B AUTIZB Authenticate instruction address, using key B AXFlag Convert floating-point condition flags B Branch B.cond Branch conditionally BFC† Bitfield clear BFI† Bitfield insert BFM Bitfield move BFXIL† Bitfield extract and insert at low end BIC{S} Bitwise bit clear BL Branch with link BLR Branch with link to register BLRAA, BLRAAZ Branch with
    [Show full text]