initcode.asm 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. initcode.o: file format elf32-littlearm
  2. Disassembly of section .text:
  3. 00000000 <start>:
  4. # exec(init, argv)
  5. .globl start
  6. start:
  7. push {lr}
  8. 0: e92d4000 push {lr}
  9. ldr r0, =argv
  10. 4: e59f003c ldr r0, [pc, #60] ; 48 <argv+0x8>
  11. push {r0}
  12. 8: e92d0001 push {r0}
  13. ldr r0, =init
  14. c: e59f0038 ldr r0, [pc, #56] ; 4c <argv+0xc>
  15. push {r0}
  16. 10: e92d0001 push {r0}
  17. mov r0, #SYS_exec
  18. 14: e3a00007 mov r0, #7
  19. swi #T_SYSCALL
  20. 18: ef000040 svc 0x00000040
  21. pop {lr}
  22. 1c: e8bd4000 pop {lr}
  23. pop {lr}
  24. 20: e8bd4000 pop {lr}
  25. pop {lr}
  26. 24: e8bd4000 pop {lr}
  27. bx lr
  28. 28: e12fff1e bx lr
  29. 0000002c <exit>:
  30. # for(;;) exit();
  31. exit:
  32. mov r11, #SYS_exit
  33. 2c: e3a0b002 mov fp, #2
  34. swi #T_SYSCALL
  35. 30: ef000040 svc 0x00000040
  36. bl exit
  37. 34: ebfffffc bl 2c <exit>
  38. 00000038 <init>:
  39. 38: 696e692f .word 0x696e692f
  40. 3c: 0074 .short 0x0074
  41. ...
  42. 00000040 <argv>:
  43. 40: 00000038 andeq r0, r0, r8, lsr r0
  44. 44: 00000000 andeq r0, r0, r0
  45. # exec(init, argv)
  46. .globl start
  47. start:
  48. push {lr}
  49. ldr r0, =argv
  50. 48: 00000040 andeq r0, r0, r0, asr #32
  51. push {r0}
  52. ldr r0, =init
  53. 4c: 00000038 andeq r0, r0, r8, lsr r0