Scheme | File Name | Supports vPortFree() |
Merges Free Blocks | Characteristics / Advantages | Drawbacks / Limitations | Suitable For |
---|---|---|---|---|---|---|
heap_1 | heap_1.c |
No | No | Simplest and fastest implementation | No memory can be freed; memory is never reused | Static systems with fixed memory requirements |
heap_2 | heap_2.c |
Yes | No | Allows freeing memory; still simple | Memory fragmentation possible; no block merging | Moderate systems with low dynamic allocation |
heap_3 | heap_3.c |
Yes | OS-dependent | Wraps standard C `mal |
Flag | Describtion |
---|---|
N | Set to 1 if the result of the operation was negative |
Z | Set to 1 if the result was zero. |
C | Set to 1 if the operation resulted in a carry out (unsigned overflow). |
V | Set to 1 if the operation caused a signed overflow. |
| Mnemonic(s) | Meaning | Condition (NZCV) |