自己写的几个ARM汇编内存操作函数
来源:互联网 发布:日语单词 知乎 编辑:程序博客网 时间:2024/04/29 14:46
自己写的几个ARM汇编内存操作函数
@=====================Subroutine====================
@ sysMemSet, Memory set in byte transfer (1 byte)
@ R0: Destination Address
@ R1: value
@ R2: Length in Bytes
@===================================================
.type sysMemSet, %function
.global sysMemSet
sysMemSet:
CMP R2, #0x00
BEQ .MemSetEnd
.MemSetLoop:
STRB R1, [R0], #+1
SUBS R2, R2, #1
BNE .MemSetLoop
.MemSetEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemSetHW, Memory set in half word (2 bytes)
@ R0: Destination Address
@ R1: value
@ R2: Length in half words
@===================================================
.type sysMemSetHW, %function
.global sysMemSetHW
sysMemSetHW:
CMP R2, #0x00
BEQ .MemSetHWEnd
.MemSetHWLoop:
STRH R1, [R0], #+2
SUBS R2, R2, #1
BNE .MemSetHWLoop
.MemSetHWEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemSetW, Memory set in word (4 bytes)
@ R0: Destination Address
@ R1: value
@ R2: Length in words
@===================================================
.type sysMemSetW, %function
.global sysMemSetW
sysMemSetW:
CMP R2, #0x00
BEQ .MemSetWEnd
.MemSetWLoop:
STR R1, [R0], #+4
SUBS R2, R2, #1
BNE .MemSetWLoop
.MemSetWEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemCopy, Copy Memory data in byte transfer
@ R0: Destination Address
@ R1: Source Address
@ R2: Length in Bytes
@===================================================
.type sysMemCopy, %function
.global sysMemCopy
sysMemCopy:
CMP R2, #0x00
BEQ .MemCopyEnd
.MemCopyLoop:
LDRB R3, [R1], #+1
STRB R3, [R0], #+1
SUBS R2, R2, #1
BNE .MemCopyLoop
.MemCopyEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemCopyHW, Copy Memory data in byte transfer
@ R0: Destination Address
@ R1: Source Address
@ R2: Length in half words
@===================================================
.type sysMemCopyHW, %function
.global sysMemCopyHW
sysMemCopyHW:
CMP R2, #0x00
BEQ .MemCopyHWEnd
.MemCopyHWLoop:
LDRH R3, [R1], #+2
STRH R3, [R0], #+2
SUBS R2, R2, #1
BNE .MemCopyHWLoop
.MemCopyHWEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemCopyW, Copy Memory data in byte transfer
@ R0: Destination Address
@ R1: Source Address
@ R2: Length in words
@===================================================
.type sysMemCopyW, %function
.global sysMemCopyW
sysMemCopyW:
CMP R2, #0x00
BEQ .MemCopyWEnd
.MemCopyWLoop:
LDR R3, [R1], #+4
STR R3, [R0], #+4
SUBS R2, R2, #1
BNE .MemCopyWLoop
.MemCopyWEnd:
MOV PC, LR
@=====================Subroutine====================
@ sysMemCopyRev, Copy Memory data in byte transfer
@ R0: Destination Address
@ R1: Source Address
@ R2: Length in Bytes
@===================================================
.type sysMemCopyRev, %function
.global sysMemCopyRev
sysMemCopyRev:
CMP R2, #0x00
BEQ .RamCopyRevEnd
.RamCopyRevLoop:
LDRB R3, [R1], #-1
STRB R3, [R0], #-1
SUBS R2, R2, #1
BNE .RamCopyRevLoop
.RamCopyRevEnd:
MOV PC, LR
- 自己写的几个ARM汇编内存操作函数
- 几个ARM指令操作的汇编实现
- 自己写的几个函数
- 几个字符串操作的汇编函数
- 汇编写的内存拷贝函数
- 汇编写的内存拷贝函数
- 自己写的几个字符串函数
- 几个自己写的字符串C函数
- 自己的几个字符串操作函数,上次用库函数吃亏了,在老师指导下,写几个
- 如何写自己的内存复制函数?
- Exe8 自己写的字符串操作函数
- 自己实现的C语言string.h 头文件的字符串函数与几个内存操作函数
- 几个特殊的ARM汇编符号
- 共享内存和操作共享内存几个函数的用法
- arm汇编指令;自己用的
- arm汇编如何调用函数,如何写延迟函数
- 汇编写的一些函数
- ARM的汇编控制伪操作
- ASP.net: ADO的五大对象
- JavaScript事件绑定的方法说明
- linux操作系统下c语言编程入门
- window.open参数完全手册
- Js文件中调用其它Js文件的方法
- 自己写的几个ARM汇编内存操作函数
- __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法
- event.keycode值大全
- IIC简单实现!
- 迅雷/快车 专用链接加密解密
- C ++ 的 背 影
- 三种c#windows服务问题
- DB2隔离级别
- 做为一个学生,我的怨念,日新月异