mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-30 13:24:27 +01:00
arm: thumb understanding++
This commit is contained in:
@@ -1,21 +1,12 @@
|
||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-instruction-encodings
|
||||
*
|
||||
* Illustrates features that are only available in thumb.
|
||||
* TODO ensure that we are actually inside of thumb.
|
||||
*/
|
||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-thumb-encoding */
|
||||
|
||||
#include <lkmc.h>
|
||||
|
||||
.syntax unified
|
||||
.text
|
||||
.thumb_func
|
||||
.global main
|
||||
main:
|
||||
main_after_prologue:
|
||||
LKMC_PROLOGUE
|
||||
|
||||
/* CBZ: cmp and branch if zero instruction. Equivalent to CMP + BEQ.
|
||||
* TODO create an interesting assertion here.
|
||||
*/
|
||||
/* TODO: #if 0 something that is not thumb encodable. */
|
||||
cbz r1, 1f
|
||||
1:
|
||||
|
||||
mov r0, 0
|
||||
bx lr
|
||||
LKMC_EPILOGUE
|
||||
|
||||
Reference in New Issue
Block a user