<?xml version="1.0" encoding="utf-8"?>
				<!-- generator="e107" -->
				<!-- content type="Forum / topic" -->
				<rss  version="2.0">
				<channel>
				<title>8051 Microcontroller Projects AVR PIC Projects Tutorials Ebooks Libraries codes : Forum / topic</title>
				<link>http://www.8051projects.net/</link>
				<description>Learn to make simple microcontroller projects, pic, 8051, avr and arm projects. download 8051 projects, tutorials, libraries, sample codes. join the microcontroller discussion forum and ask doubts regarding electronics. the best source for 8051 over internet.</description>

<language>en-gb</language>
				<copyright><a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/in/" target="_blank"><img alt="Creative Commons License" width="80" height="15" style="border-width:0" src="http://i.creativecommons.org/l/by-nc/2.5/in/80x15.png" target="_blank" /></a>This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/in/" target="_blank">Creative Commons Attribution-Noncommercial 2.5 India License</a>.<a href='http://www.8051projects.net/disclaimer.htm' target='_blank' />Rickey's World Disclaimer</a></copyright>
				<managingEditor>Ajay Bhargav - contact@nospam.com</managingEditor>
				<webMaster>contact@nospam.com</webMaster>
				<pubDate>Mon, 01 Dec 2008 12:28:46 -0800</pubDate>
				<lastBuildDate>Mon, 01 Dec 2008 12:28:46 -0800</lastBuildDate>
				<docs>http://backend.userland.com/rss</docs>
				<generator>e107 (http://e107.org)</generator>
				<ttl>60</ttl>
				<textInput>
				<title>Search</title>
				<description>Search 8051 Microcontroller Projects AVR PIC Projects Tutorials Ebooks Libraries codes</description>
				<name>query</name>
				<link>http://www.8051projects.net/search.php</link>
				</textInput>
						<item>
						<title>arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[<span style='font-size:10px'> <strong class='bbcode bold'>please do not post on this thread  for doubts post on  </strong> </span> <br /><br /><span style='font-size:12px'><a class='bbcode' href='http://www.8051projects.net/forum-t5636-last.html' rel='external'  target='_blank'>http://www.8051projects.net/forum-t5636-last.html</a></span><br /> <div class='indent'><br /><span style='font-size:24px'>chapter 1 ARM Architecture</span><br />This chapter outlines the ARM processor's architecture and describes the syntax rules of the ARM<br />assembler. Later chapters  describe the ARM's stack and exception processing system<br />in more detail.<br />Figure 1.1 on the following page shows the internal structure of the ARM processor. The ARM<br />is a Reduced Instruction Set Computer (RISC) system and includes the attributes typical to that<br />type of system:<br />• A large array of uniform registers.<br />• A load/store model of data-processing where operations can only operate on registers and not<br />directly on memory. This requires that all data be loaded into registers before an operation<br />can be preformed, the result can then be used for further processing or stored back into<br />memory.<br />• A small number of addressing modes with all load/store addresses begin determined from<br />registers and instruction elds only.<br />• A uniform xed length instruction (32-bit).<br />In addition to these traditional features of a RISC system the ARM provides a number of additional<br />features:<br />• Separate Arithmetic Logic Unit (ALU) and shifter giving additional control over data processing<br />to maximize execution speed.<br />• Auto-increment and Auto-decrement addressing modes to improve the operation of program<br />loops.<br />• Conditional execution of instructions to reduce pipeline ushing and thus increase execution<br />speed.</div> <br /><br /><br /><br /><img src='http://www.8051projects.net/e107_files/public/1202367798_2984_FT0_new_bitmap_image.jpg' class='bbcode' alt='' width='515' height='911'  />	 <strong class='bbcode bold'></strong>]]></description>
<pubDate>Wed, 06 Feb 2008 23:03:18 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[<strong class='bbcode bold'><span style='font-size:18px'>1.1 Processor modes</span></strong><br />The ARM supports the seven processor modes shown in table1.1.<br />Mode changes can be made under software control, or can be caused by external interrupts or<br />exception processing.<br />Most application programs execute in User mode. While the processor is in User mode, the<br />program being executed is unable to access some protected system resources or to change mode,<br />other than by causing an exception to occur (see 1.4 ). This allows a suitably written<br />operating system to control the use of system resources.]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Wed, 06 Feb 2008 23:58:10 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[table1.1<br /><img src='http://www.8051projects.net/e107_files/public/1202372212_2984_FT5633_new_bitmap_image.jpg' class='bbcode' alt='' width='497' height='182'  />]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Thu, 07 Feb 2008 00:16:52 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[<div class='indent'><br />The modes other than User mode are known as privileged modes. They have full access to system<br />resources and can change mode freely. Five of them are known as exception modes: FIQ (Fast<br />Interrupt), IRQ (Interrupt), Supervisor, Abort, and Undened. These are entered when specic<br />exceptions occur. Each of them has some additional registers to avoid corrupting User mode state<br />when the exception occurs (see 1.2 for details).<br />The remaining mode is System mode, it is not entered by any exception and has exactly the same<br />registers available as User mode. However, it is a privileged mode and is therefore not subject to<br />the User mode restrictions. It is intended for use by operating system tasks which need access to<br />system resources, but wish to avoid using the additional registers associated with the exception<br />modes. Avoiding such use ensures that the task state is not corrupted by the occurrence of any<br />exception.</div>]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Thu, 07 Feb 2008 02:05:07 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[<div class='indent'><br /><span style='font-size:18px'>1.2 Registers</span><br />The ARM has a total of 37 registers. These comprise 30 general purpose registers, 6 status registers<br />and a program counter. Figure 1.2 illustrates the registers of the ARM. Only fteen of the general<br />purpose registers are available at any one time depending on the processor mode.<br />There are a standard set of eight general purpose registers that are always available (R0  R7) no<br />matter which mode the processor is in. These registers are truly general-purpose, with no special<br />uses being placed on them by the processors' architecture.<br />A few registers (R8  R12) are common to all processor modes with the exception of the q<br />mode. This means that to all intent and purpose these are general registers and have no special<br />use. However, when the processor is in the fast interrupt mode these registers and replaced with<br />dierent set of registers (R8_q - R12_q). Although the processor does not give any special<br />purpose to these registers they can be used to hold information between fast interrupts. You can<br />consider they to be static registers. The idea is that you can make a fast interrupt even faster<br />by holding information in these registers.<br />The general purpose registers can be used to handle 8-bit bytes, 16-bit half-words1, or 32-bit<br />words. When we use a 32-bit register in a byte instruction only the least signicant 8 bits are<br />used. In a half-word instruction only the least signicant 16 bits are used. Figure 3.3 demonstrates<br />this.<br />The remaining registers (R13  R15) are special purpose registers and have very specic roles:<br />R13 is also known as the Stack Pointer, while R14 is known as the Link Register, and R15 is<br />the Program Counter. The user (usr) and System (sys) modes share the same registers. The<br />exception modes all have their own version of these registers. Making a reference to register R14<br />will assume you are referring to the register for the current processor mode. If you wish to refer to the user mode version of this register you have refer to the R14_usr register. You may only<br />refer to register from other modes when the processor is in one of the privileged modes, i.e., any<br />mode other than user mode.<br />There are also one or two status registers depending on which mode the processor is in. The Current<br />Processor Status Register (CPSR) holds information about the current status of the processor<br />(including its current mode). In the exception modes there is an additional Saved Processor Status<br />Register (SPSR) which holds information on the processors state before the system changed into<br />this mode, i.e., the processor status just before an exception.<br /></div>]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Thu, 07 Feb 2008 02:27:06 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[fig1.2<br /><img src='http://www.8051projects.net/e107_files/public/1202380620_2984_FT5633_temp.jpg' class='bbcode' alt='' width='531' height='507'  />]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Thu, 07 Feb 2008 02:37:00 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
						<item>
						<title>Re: arm assembly tutorial</title>
<link>http://www.8051projects.net/forum-t5633.html</link>
<description><![CDATA[<span style='font-size:12px'>1.2.1 The stack pointer, SP or R13</span><br />Register R13 is used as a stack pointer and is also known as the SP register. Each exception mode<br />has its own version of R13, which points to a stack dedicated to that exception mode. <br /> <br /><span style='font-size:12px'>1 .2.2 The Link Register, LR or R14</span><br />Register R14 is also known as the Link Register or LR.<br />It is used to hold the return address for a subroutine. When a subroutine call is performed via a<br />BL instruction, R14 is set to the address of the next instruction. To return from a subroutine you<br />need to copy the Link Register into the Program Counter. This is typically done in one of the two<br />ways:<br />• Execute either of these instructions:<br />MOV PC, LR or BAL LR<br />• On entry to the subroutine store R14 to the stack with an instruction of the form:<br />STMFD SP!,{hregistersi, LR}<br />and use a matching instruction to return from the subroutine:<br />LDMFD SP!,{hregistersi, PC}<br />This saves the Link Register on the stack at the start of the subroutine. On exit from the<br />subroutine it collects all the values it placed on the stack, including the return address that<br />was in the Link Register, except it returns this address directly into the Program Counter<br />instead.]]></description>
<author>shyam&lt;shyam@nospam.com&gt;</author>
<pubDate>Fri, 08 Feb 2008 19:58:59 -0800</pubDate>
<guid isPermaLink="true">http://www.8051projects.net/forum-t5633.html</guid>
</item>
				</channel>
				</rss>