Difference between revisions of "Fall 2014 SPO600 Assembly Language Presentation"
Chris Tyler (talk | contribs) (Created page with '{{Chris Tyler Draft}} == Topics == {|class="wikimedia sortable" border="1" cellpadding="5" cellspacing="0" !Topic!!Question/Topic Description!!Student |- |x86 Registers||What a…') |
Chris Tyler (talk | contribs) |
||
Line 31: | Line 31: | ||
|- | |- | ||
|Assembling using gas||How do you use the GNU assembler (gas) to compile an assembly-language program?|| | |Assembling using gas||How do you use the GNU assembler (gas) to compile an assembly-language program?|| | ||
+ | |- | ||
+ | |Single-stepping with gdb||How do you execute a program one instruction at a time (single-stepping) using the GNU debugger (gdb)?|| | ||
|- | |- | ||
|The Mysterious XOR||x86 and x86_64 code often contains instructions that XOR a register with itself (e.g., <code>xor %eax,%eax</code>). What does this do and why is it used?|| | |The Mysterious XOR||x86 and x86_64 code often contains instructions that XOR a register with itself (e.g., <code>xor %eax,%eax</code>). What does this do and why is it used?|| | ||
|- | |- | ||
|} | |} |
Revision as of 00:39, 5 September 2014
Topics
Topic | Question/Topic Description | Student |
---|---|---|
x86 Registers | What are the names and sizes of all of the x86_64 registers? | |
Aarch64 Registers | What are the names and sizes of all of the Aarch64 registers? | |
NASM Syntax | What is NASM, and what are the basic rules of NASM syntax? | |
GNU x86_64 gas Syntax | What are the basic rules of GNU Assembler (gas) syntax for x86_64 platforms? | |
GNU aarch64 Syntax | What are the basic rules of GNU Assembler (gas) syntax for aarch64 platforms? | |
Argument storage on x86_64 | When a function/procedure is called on an x86_64 Linux system, where are the arguments stored? | |
Argument storage on aarch64 | When a function/procedure is called on an aarch64 system, where are the arguments stored? | |
System call numbers on x86_64 | What are the system call numbers on an x86_64 Linux system? | |
System call numbers on aarch64 | What are the system call numbers on an aarch64 Linux system? | |
PLT | What is a PLT and how is it used? | |
Static and dynamic linking | What are the differences between static and dynamic linking? Advantages of each? | |
Copy-on-write | What is copy-on-write (when referring to memory in a Linux system)? When is it used? | |
Assembling using gas | How do you use the GNU assembler (gas) to compile an assembly-language program? | |
Single-stepping with gdb | How do you execute a program one instruction at a time (single-stepping) using the GNU debugger (gdb)? | |
The Mysterious XOR | x86 and x86_64 code often contains instructions that XOR a register with itself (e.g., xor %eax,%eax ). What does this do and why is it used? |