1: .type    sys_call_table, #object
    2: ENTRY(sys_call_table)
    3: #include "calls.S"
    4: #undef ABI
    5: #undef OBSOLETE
    6:  
    7:  
    8: @r0 = syscall number
    9: @r8 = syscall table
   10: sys_syscall:
   11:     bic    scno, r0, #__NR_OABI_SYSCALL_BASE
   12:     cmp    scno, #__NR_syscall - __NR_SYSCALL_BASE
   13:     cmpne    scno, #NR_syscalls    @ check range
   14:     stmloia    sp, {r5, r6}        @ shuffle args
   15:     movlo    r0, r1
   16:     movlo    r1, r2
   17:     movlo    r2, r3
   18:     movlo    r3, r4
   19:     ldrlo    pc, [tbl, scno, lsl #2]
   20:     b    sys_ni_syscall
   21: ENDPROC(sys_syscall)
common.S和call.S的部分理解1(8)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/55ed6c6fe9c780ca1b111aa019ccd733.html

