setbit.S
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/arch/arm/lib/setbit.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. /*
  14.  * Purpose  : Function to set a bit
  15.  * Prototype: int set_bit(int bit, void *addr)
  16.  */
  17. ENTRY(set_bit)
  18.                 and     r2, r0, #7
  19.                 mov     r3, #1
  20.                 mov     r3, r3, lsl r2
  21. save_and_disable_irqs ip, r2
  22. ldrb r2, [r1, r0, lsr #3]
  23. orr r2, r2, r3
  24. strb r2, [r1, r0, lsr #3]
  25. restore_irqs ip
  26. RETINSTR(mov,pc,lr)