Home page for Introduction to Assembly Language: Arm Edition
What this page is for
This page is to document the extra material for the book "Instruction to Assembly Language, Arm Edition", by Charles W. Kann. The resources here are developed by Chuck Kann or his students to
support the concepts in the book. It will outline the material for the book, and the downloads that are available to support those resources.
Dictionary
This is the dictionary that is referenced at the end of the textbook. I will update the dictionary to reference this file when I do the first update.
Textbook source
The textbook is available from the site https://cupola.gettysburg.edu/oer/8/ . The Word source for the textbook is IntroductionToAssemblyLanguageProgramming_ARM.docx. The book is avaiable using a creative commons license, and can be freely downloaded, used, and modified for any purpose so long as the book is attributed.
Style Guide
A style guide is available to guide students in generating programs. This saves faculty from specifying how students should format their programs, and allows students to know how to write
well formatted code that a professor can grade easily. It is at ARM_Code_Styles.pdf"
Operand 2 Immediate Format Tool
A tool to help students understand how to generate Operand2 Immediate(8 bit value 4 bit rotation with the MOV and MVN instruction). ARM Immediate Encdoing
Animation of Instructions
Animations of the implementation of instructions supporting Chapters 4 and 5. These require powerpoint to run, and the powerpoint file is pretty large (150 MBs). But it is very helpful in understand
basic ARM instructions, particularly the Operand2. It is available from InstructionAnimations.pptx
Machine Code
There are two resources to help with understanding and working with ARM machine instructions. The first is a spreadsheet that is referenced in Chapter 6. It can be found at
MachineCode.xlsx
The second is the flow chart to disassemble machine code instructions to assembly code. It is MachineCodeFlowChart.png. The visio file
that generated it is MachineCodeFlowChart.vsdx
Answer Manual
Two answer manuals are available. One is ARM Textbook Solution Manual.docx. The other is availble to instructors by
request to the author.
Hacking Problems
There are two hacking problems for ARM Assembly. Both are related to buffer overflow attacks. The can be found at
https://github.com/defghij/605611_project I have left this at the github page for the students who did the projects. Luke Craig wrote up a blog post for his project at
https://www.lukecraig.com/improving_bbo/