Overview
Syllabus
Arch1005: RISC-V Assembly 00 01 Class Intro
Arch1005: RISC-V Assembly 00 02 Intro ISA Family
Arch100X Endianness
Arch1005 01 Registers
Arch1005: RISC-V Assembly 02 NOP
Arch1005: RISC-V Assembly 03 01 JustReturn.c -O1
Arch1005: RISC-V Assembly 03 02 The Stack Overview
Arch1005: RISC-V Assembly 03 03 JustReturn (-O0) 1
Arch1005: RISC-V Assembly 03 03 JustReturn (-O0) 2
Arch1005: RISC-V Assembly 03 03 JustReturn (-O0) 3
Arch1005: RISC-V Assembly 03 04 JustReturn.c (-O0) in GDB
Arch1005: RISC-V Assembly 03 05 JustReturn (-O0) Frame Pointers Aside
Arch1005: RISC-V Assembly 03 06 JustReturn (-O0) Compression Digression 1
Arch1005: RISC-V Assembly 03 06 JustReturn (-O0) Compression Digression 2
Arch1005: RISC-V Assembly 03 06 JustReturn (-O0) Compression Digression 3
Arch1005: RISC-V Assembly 03 06 JustReturn (-O0) Compression Digression 4
Arch1005: RISC-V Assembly 04 Local Variables 01 SingleLocalVariable.c 1
Arch1005: RISC-V Assembly 04 Local Variables 01 SingleLocalVariable.c 2
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 1 TwoInts.c 1
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 2 TwoInts.c 2
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 3 TwoLongLongs.c 1
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 4 TwoLongLongs.c 2
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 5 ThreeLongLongs.c 1
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 6 ThreeLongLongs.c 2
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 7 ThreeIntsBonus.c 1
Arch1005: RISC-V Assembly 04 Local Variables 02 MysteryListery2 Solved 8 ThreeIntsBonus.c 2
Arch1005: RISC-V Assembly 04 Local Variables 03 ArrayLocalVariable.c 1
Arch1005: RISC-V Assembly 04 Local Variables 03 ArrayLocalVariable.c 2
Arch1005: RISC-V Assembly 04 Local Variables 04 ArrayLocalVariable2.c 1
Arch1005: RISC-V Assembly 04 Local Variables 04 ArrayLocalVariable2.c 2
Arch1005: RISC-V Assembly 04 Local Variables 05 StructLocalVariable.c 1
Arch1005: RISC-V Assembly 04 Local Variables 05 StructLocalVariable.c 2
Arch1005: RISC-V Assembly 04 Local Variables 05 StructLocalVariable.c 2
Arch1005: RISC-V Assembly 04 Local Variables 06 StructLocalVariable2.c 1
Arch1005: RISC-V Assembly 04 Local Variables 06 StructLocalVariable2.c 2
Arch1005: RISC-V Assembly 04 Local Variables 07 StructLocalVariable2Packed.c
Arch1005: RISC-V Assembly 04 Local Variables 08 PointerLocalVariable.c 1
Arch1005: RISC-V Assembly 04 Local Variables 08 PointerLocalVariable.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 01 Calling Conventions
Arch1005: RISC-V Assembly 05 Calling Functions 02 CallFuncNoArgs.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 02 CallFuncNoArgs.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 03 Call3FuncsNoArgs.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 03 Call3FuncsNoArgs.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 04 CallFunc1Arg.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 04 CallFunc1Arg.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 05 HelloWorld.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 05 HelloWorld.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 05 HelloWorld.c 3
Arch1005: RISC-V Assembly 05 Calling Functions 05 HelloWorld.c 4
Arch1005: RISC-V Assembly 05 Calling Functions 06 LocalVariableByte.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 06 LocalVariableByte.c 2
Arch1005: RISC-V Assembly 05 Calling Functions 07 TooManyParameters.c 1
Arch1005: RISC-V Assembly 05 Calling Functions 07 TooManyParameters.c 2
Arch1005: RISC-V Assembly 06 Boolean Logic 01 BooleanBecause.c 1
Arch1005: RISC-V Assembly 06 Boolean Logic 01 BooleanBecause.c 2
Arch1005: RISC-V Assembly 06 Boolean Logic 02 BooleanBecause2.c 1
Arch1005: RISC-V Assembly 06 Boolean Logic 02 BooleanBecause2.c 2
Arch1005: RISC-V Assembly 07 Control Flow 01 IfExample1.c 1
Arch1005: RISC-V Assembly 07 Control Flow 01 IfExample1.c 2
Arch1005: RISC-V Assembly 07 Control Flow 02 IfExample2.c 1
Arch1005: RISC-V Assembly 07 Control Flow 02 IfExample2.c 2
Arch1005: RISC-V Assembly 07 Control Flow 03 IfExample3.c1
Arch1005: RISC-V Assembly 07 Control Flow 03 IfExample3.c 2
Arch1005: RISC-V Assembly 07 Control Flow 04 IfExample4.c 1
Arch1005: RISC-V Assembly 07 Control Flow 04 IfExample4.c 2
Arch1005: RISC-V Assembly 07 Control Flow 05 SwitchExample.c 1
Arch1005: RISC-V Assembly 07 Control Flow 05 SwitchExample.c 2
Arch1005: RISC-V Assembly 07 Control Flow 06 WhileExample.c & WhileExample2.c
Arch1005: RISC-V Assembly 07 Control Flow 07 ForExample.c
Arch1005: RISC-V Assembly 07 Control Flow 08 GotoExample.c
Arch1005: RISC-V Assembly 08 Shifts 01 ShiftExample1UnsignedLong.c 1
Arch1005: RISC-V Assembly 08 Shifts 01 ShiftExample1UnsignedLong.c 2
Arch1005: RISC-V Assembly 08 Shifts 02 ShiftExample2SignedLong.c 1
Arch1005: RISC-V Assembly 08 Shifts 02 ShiftExample2SignedLong.c 2
Arch1005: RISC-V Assembly 08 Shifts 03 ShiftExample3Opaque.c 1
Arch1005: RISC-V Assembly 08 Shifts 03 ShiftExample3Opaque.c 2
Arch1005: RISC-V Assembly 08 Shifts 04 ShiftExample4Opaque.c 1
Arch1005: RISC-V Assembly 08 Shifts 04 ShiftExample4Opaque.c 2
Arch1005: RISC-V Assembly 08 Shifts 05 ShiftExample5Int.c 1
Arch1005: RISC-V Assembly 08 Shifts 05 ShiftExample5Int.c 2
Arch1005: RISC-V Assembly 08 Shifts 06 ShiftExample6MulDiv.c 1
Arch1005: RISC-V Assembly 08 Shifts 06 ShiftExample6MulDiv.c 2
Arch1005: RISC-V Assembly 08 Shifts 07 ShiftExample7LWU.c 1
Arch1005: RISC-V Assembly 08 Shifts 07 ShiftExample7LWU.c 2
Arch1005: RISC-V Assembly 09 Sets 01 SwitchExample.c 1
Arch1005: RISC-V Assembly 09 Sets 01 SwitchExample.c 2
Arch1005: RISC-V Assembly 09 Sets 02 SetExample1.c 1
Arch1005: RISC-V Assembly 09 Sets 02 SetExample1.c 2
Arch1005: RISC-V Assembly 09 Sets 03 SetExample2.c 1
Arch1005: RISC-V Assembly 09 Sets 03 SetExample2.c 2
Arch1005: RISC-V Assembly 10 Stragglers
Arch1005: RISC-V Assembly 11 MulDivRem 01 Example1MulDivRem.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 01 Example1MulDivRem.c 2
Arch1005: RISC-V Assembly 11 MulDivRem 02 Example2Mul.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 02 Example2Mul.c 2
Arch1005: RISC-V Assembly 11 MulDivRem 02 Example2Mul.c 3
Arch1005: RISC-V Assembly 11 MulDivRem 03 Example3MulDivRem.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 03 Example3MulDivRem.c 2
Arch1005: RISC-V Assembly 11 MulDivRem 04 Example4DivRem.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 04 Example4DivRem.c 2
Arch1005: RISC-V Assembly 11 MulDivRem 05 Example5Mul.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 05 Example5Mul.c 2
Arch1005: RISC-V Assembly 11 MulDivRem 06 Example6Mul.c 1
Arch1005: RISC-V Assembly 11 MulDivRem 06 Example6Mul.c 2
Arch1005: RISC-V Assembly 12 Read The Fun Manual 1
Arch1005: RISC-V Assembly 12 Read The Fun Manual 2
Arch1005: RISC-V Assembly 12 Read The Fun Manual 3
Arch1005: RISC-V Assembly 12 Read The Fun Manual 4
Arch1005: RISC-V Assembly 13 Writing Assembly 01 Intro
Arch1005: RISC-V Assembly 13 Writing Assembly 02 GCC Inline Assembly
Arch1005: RISC-V Assembly 14 Binary Bomb Lab Intro & Phase 1 Walkthrough
Arch1005: RISC-V Assembly 14 Ghidra Connect to Binary Bomb Lab
Arch1005: RISC-V Assembly 17 01 Conclusion
Taught by
OpenSecurityTraining2