changebit.S
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/arch/arm/lib/changebit.S
  3.  *
  4.  *  Copyright (C) 1995-1996 Russell King
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #include <linux/linkage.h>
  11. #include <asm/assembler.h>
  12.                 .text
  13. /* Purpose  : Function to change a bit
  14.  * Prototype: int change_bit(int bit, void *addr)
  15.  */
  16. ENTRY(change_bit)
  17. and r2, r0, #7
  18. mov r3, #1
  19. mov r3, r3, lsl r2
  20. save_and_disable_irqs ip, r2
  21. ldrb r2, [r1, r0, lsr #3]
  22. eor r2, r2, r3
  23. strb r2, [r1, r0, lsr #3]
  24. restore_irqs ip
  25. RETINSTR(mov,pc,lr)