<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Z_Monkey的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Z_Monkey</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Z_Monkey]]></copyright><item><title><![CDATA[S3C2410 MDK实验---ARM汇编语言实现跑马灯]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228137</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228137</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:58:50 +0800</pubDate><description><![CDATA[具体思路：
由于开发板是将GPF4-7与灯相连，所以通过设置GPFCON控制寄存器将将LED灯相连的引脚4，5，6，7设置为输出功能，将他们的上拉电阻设置为禁用（设置GPFUP为0），通过修改GPFDAT寄存器的数值来实现灯的亮和灭，主要是将具体引脚对应的GPFUP设置为0，使之为低电平，从而使灯可以亮。再设置几个延迟将灯亮的时间延长。最后用C语言的mian函数调用LEDTEST函数即可。
主]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---用ARM汇编实现R0寄存器中数据调换数据]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228127</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228127</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:49:04 +0800</pubDate><description><![CDATA[具体思路：
本题本人的思路很简单，就是通过以为操作来实现，注意此时不要使用循环移位，用算数移位和逻辑移位即可，每次移位保存其中一个16进制数，知道每个数都保存，然后再将这些数据反序存储到R0寄存器中。
ARM代码：
	AREA HOMEWORK4,CODE,READONLY
	ENTRY
START
	LDR R0,=0xAABBCCDD
	MOV R1,R0,LSR #28
	M]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---通过LDMFD/STMFD实现R0-R6寄存器的数据的交换]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228103</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228103</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:40:43 +0800</pubDate><description><![CDATA[交换规则如下：

具体思路：
在此题中是不实用其他的寄存器从而解决问题，所以此时我们就可以将这些数据先通过LDMFD(过后增加)指令保存到堆栈里面，然后再通过LDMFD(过后增加)和STMFD来进行数据的交换。我再进行存储了数据以后又用了STMFD操作是因为经过是一个操作堆栈的指针已经指向了堆栈的最后，所以此时用STMFD操作可以将堆栈的指针指向堆栈的开始位置。然后载经过LDMFD操作实现寄]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---通过ARM汇编实现累加一个队列的所有元素]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228072</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228072</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:26:48 +0800</pubDate><description><![CDATA[具体思路：先定义一个队列用来存储数据，在实现中，通过移位操作可以获知队列的长度（移位操作相比除法更加快速），同时注意在队列的存储中是一个字存储一个数据，但是移位和后面累加的操作中，队列指针的指向地址每次加4还是加8主要看自己的机子是32位还是64位的机子。然后后面就是主要的实现部分了，大家应该都可以看懂。
ARM代码如下：
ARRAY_SIZE EQU 40
	AREA HOMEWORK4,]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---ARM汇编实现简单判断环习题]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228047</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228047</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:18:05 +0800</pubDate><description><![CDATA[自己写的一些文章都是自己的原创，有问题可以直接提出，如果有什么需要也可以提出。这些文章大部分是自己的一些作业和一些实验，大家发现什么问题可以指出，互相研究。本人也是嵌入式初学者，希望自己的文章对大家有帮助。

ARM汇编代码：很简单的实现
	AREA HOMEWORK4,CODE,READONLY
	ENTRY
	MOV R0,#9
	MOV R1,#15
START
	CMP R]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---C语言调用ARM汇编实现字符串的拷贝]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228003</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8228003</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:12:24 +0800</pubDate><description><![CDATA[简单的实现将一个字符串复制到另外一个字符数组中。拷贝功能在ARM中实现。C语言调用汇编实现。
C语言代码：主要注意要将汇编中的函数导入进来。其余很简单！我这样赋值方便以后调试的时侯方便。
#include 
extern void strcopy(char *d, const char *s);

int main()
{
	const char *srcstr="abcdefghi";
	c]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---通过ARM汇编调用C语言函数实现累加]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8227966</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8227966</guid><author>Z_Monkey</author><pubDate>Mon, 26 Nov 2012 23:01:00 +0800</pubDate><description><![CDATA[在C语言中定义实现一个累加的函数，参数是累加的最大值，从1加到此值。下面是代码：
汇编代码：其中注意开始的参数的定义要紧靠前面，负责无法读出，其中要将C语言函数导入：IMPORT+函数名，并将你定义的汇编开始部分定义出去：EXPORT+开始函数名
STACK_TOP EQU 0x40002000
N EQU 100
	PRESERVE8
	AREA HOMEWORK,CODE,READO]]></description><category></category></item><item><title><![CDATA[ARM汇编程序---1-100累加和一个简单排序]]></title><link>https://blog.youkuaiyun.com/Z_Monkey/article/details/8091712</link><guid>https://blog.youkuaiyun.com/Z_Monkey/article/details/8091712</guid><author>Z_Monkey</author><pubDate>Fri, 19 Oct 2012 23:21:21 +0800</pubDate><description><![CDATA[嵌入式初学者，这学期刚开课，学起来感觉很不错。
第一个累加和的源码：
	AREA TEXT,CODE,READWRITE
	ENTRY
	MOV R0,#100   ;循环数目
	MOV R1,#0	     ;初始化数据
LOOP
	ADD R1,R1,R0  ;将数据进行相加，获得最后的数据
	SUBS R0,R0,#1 ;循环数据R0减去1
	CMP R0,#0	     ;将R0与0比]]></description><category></category></item></channel></rss>