Problem sets
From ASMBits
Nios II
Getting Started
Arithmetic
Basic operations
- Bitwise invert
- Odd or even
- Absolute value
- Add
- Shift logical
- Shift arithmetic
- Shift left
- Tiling a rectangle
Bit manipulation
Number representation
- Zero extension
- Sign extension
- Extending a number
- Saturation
- Saturation
- Number length
- Number length
- Add with carry
Memory Operations
- Load from memory
- Load from label
- Load from pointer
- Load from array
- Swap
- Copy byte
- Unaligned load
- Unaligned increment
Declaring memory
- Declare words
- Declare words
- Declare memory
- Declare string
- Declaring .equ
- Using .equ
- Declare struct
- Declare struct
- Declare memory: .org
- Memory layout
- Memory layout
- Memory layout
- Memory layout
Branches
Loops and arrays
- String length
- String lower case
- Max of array
- Min of array
- Max of array
- Max, min
- Array increment
- Array insert
- Linked list remove
- Linked list
- Copy memory
- Drawing squares
Structs
Functions and recursion
- Function parameters
- Calling a function
- Sum arguments
- More function parameters
- Saving registers
- Variable arguments: sum
- Variable arguments: max
- Fibonacci numbers
- Bigger Fibonacci numbers
- Binary tree size
- Binary tree depth
- Ackermann function
Program Structure
- Where is: stack
- Where is: label
- Where is: function
- Where is: your function
- Where is: caller
- Interrupt enabled
- Load and Indirect call
More Short Programs
- Random numbers
- Hailstone sequence
- Print hex character
- Print hex string
- Seven-segment display
- Seven-segment display
- Decimal string
- Decimal string
- Binary-coded decimal
- Binary-coded decimal
- Normalize array
- Sum array
- Subarray sum
- Calculator
- Calculator
- Manhattan distance
- Fibonacci call counting
- Copy memory (overlap)
Other Topics
I/O Devices
Caches
- Cache block
- Cache set
- Cache set
- Cache conflicts
- Cache tag
- One cache hit
- Many cache hits
- Cache simulation
Memory Arrays
ARMv7
Getting Started
Arithmetic
Basic operations
Bit manipulation
Number representation
- Zero extension
- Sign extension
- Extending a number
- Saturation
- Saturation
- Number length
- Number length
- Add with carry
Memory Operations
- Load from memory
- Load from label
- Load from pointer
- Load from array
- Swap
- Copy byte
- Unaligned load
- Unaligned increment
Declaring memory
- Declare words
- Declare words
- Declare memory
- Declare string
- Declare alignment
- Declaring .equ
- Using .equ
- Declare struct
- Declare struct
- Declare memory: .org
- Memory layout
- Memory layout
- Memory layout
- Memory layout
Branches
Loops and arrays
- String length
- String lower case
- Max of array
- Min of array
- Max of array
- Max, min
- Array increment
- Array insert
- Linked list remove
- Linked list
- Copy memory
- Drawing squares
Structs
Functions and recursion
- Function parameters
- Calling a function
- Sum arguments
- More function parameters
- Saving registers
- Variable arguments: sum
- Variable arguments: max
- Fibonacci numbers
- Bigger Fibonacci numbers
- Binary tree size
- Binary tree depth
- Ackermann function
Program Structure
- Where is: stack
- Where is: label
- Where is: function
- Where is: your function
- Where is: caller
- Load and Indirect call
More Short Programs
- Random numbers
- Hailstone sequence
- Print hex character
- Print hex string
- Seven-segment display
- Seven-segment display
- Decimal string
- Decimal string
- Binary-coded decimal
- Normalize array
- Sum array
- Subarray sum
- Calculator
- Calculator
- Manhattan distance
- Fibonacci call counting
- Copy memory (overlap)
Other Topics
I/O Devices
Caches
- Cache block
- Cache set
- Cache set
- Cache conflicts
- Cache tag
- One cache hit
- Many cache hits
- Cache simulation