assembly - ASM_basic_ops - Part I
KSATs: K0203, K0211, K0220, K0230, K0235, K0778, K0779, K0780, K0781, K0782, K0783, K0784, K0785, K0786, K0787, K0788, K0789, K0790, K0791, K0798, K0809, K0817, S0115, S0123, S0126, S0139, S0157
Measurement: Written, Performance
Lecture Time: 1 Hour
Demo/Performance Time: 1 Hour
Instructional Methods: Informal Lecture & Demonstration/Performance
Multiple Instructor Requirements: 1:8 for Labs
Classification: UNCLASSIFIED
Lesson Objectives:
-
LO 1 Recognize methods in Assembly for using the stack (Proficiency Level: B)
- MSB 1.1 Understand how to use the stack (Proficiency Level: B)
- MSB 1.2 push and pop to the stack in Assembly (Proficiency Level: B)
-
LO 2 Identify, differentiate, and leverage arithmetic functions in Assembly. (Proficiency Level: B)
- MSB 2.1 Identify how to add and subtract in Assembly. (Proficiency Level: B)
- MSB 2.2 Articulate the procedures and registers for multiplication and division in Assembly. (Proficiency Level: B)
- MSB 2.3 Identify how to increment and decrement registers in Assembly. (Proficiency Level: B)
-
LO 3 Differentiate methods and purposes for bitwise shifts in Assembly. (Proficiency Level: B)
- MSB 3.1 Understand the purpose of the scas instruction. (Proficiency Level: B)
Performance Objectives (Proficiency Level: 3c)
-
Conditions: Given access to (references, tools, etc.):
- Access to specified remote virtual environment
- Student Guide and Lab Guide
- Student Notes
-
Performance/Behavior Tasks:
- Apply knowledge of the stack through commands in Assembly
-
Standard(s)
- Criteria: Demonstration: Correctable to 100% in class
- Evaluation: Students will have 4 hours to complete the timed evaluation consisting of both cognitive and performance components.
- Minimum passing score is 80%
References
- http://www.cs.tau.ac.il/~maon/teaching/2014-2015/seminar/seminar1415a-lec6-runtime.pdf
- https://blog.holbertonschool.com/hack-virtual-memory-stack-registers-assembly-code/
- https://c9x.me/x86/html/file_module_x86_id_72.html
- https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64/
- https://learn.adacore.com/labs/bug-free-coding/chapters/stack.html
- https://stackoverflow.com/questions/46790666/how-is-stack-memory-allocated-when-using-push-or-sub-x86-instructions
- https://www.amd.com/system/files/TechDocs/24594.pdf
- https://www.cs.uaf.edu/2012/fall/cs301/lecture/09_21_stack.html
- https://www.felixcloutier.com/x86/div
- https://www.tutorialspoint.com/assembly_programming/assembly_arithmetic_instructions.htm
- https://www.tutorialspoint.com/operating_system/os_processes.htm