AVR Instruction Set Encoding

Size: px
Start display at page:

Download "AVR Instruction Set Encoding"

Transcription

1 1 P age

2 AVR Instruction Set Encoding READING 1. "AVR Instruction Set" document doc856 "The Program and Data Addressing Modes." 2. In this lecture I will teach you how to translate your assembly code into machine code and vice-versa. You can learn more about each instruction in the AVR Studio 4 Help documentation (Help - Assembler help) or "AVR Instruction Set" document doc LSL - Logical Shift Left, and LSR - Logical Shift Right in the AVR Studio, AVR Assembler Help documentation or "AVR Instruction Set" document doc Section 6.4 "General Purpose Register File" and Section 7.3 "SRAM Data Memory" except section in the ATmega328P datasheet 2 P age

3 CONTENTS Reading... 2 Contents... 3 Instruction Set Mapping... 4 ATmega328P Operand Locations... 5 Data Addressing Modes... 6 Direct Register Addressing, Single Register... 6 Direct Register Addressing, Two of 32 8-bit General Purpose Registers Rd and Rr... 7 Multiply... 8 Direct I/O Addressing (including SREG)... 9 Direct SRAM Data Addressing... 1 Immediate Indirect SRAM Data with Displacement Indirect SRAM Data Addressing with Pre-decrement and Post-increment Indirect Program Memory Addressing (Atmel Program Memory Constant Addressing) Control Transfer Direct Indirect Relative MCU Control Instructions Program Decoding Who Am I? Program Encoding Display... 2 Program Encoding Turn left Program Encoding In Forest and spitxwait Program Encoding BCD to 7-Segment Display Program Decoding SRAM Indirect Appendix A ATmega328P Instruction Set Appendix B Arduino Proto-Shield Schematic Solutions P age

4 INSTRUCTION SET MAPPING The Instruction Set of our AVR processor can be functionally divided (or classified) into: Data Transfer Instructions, Arithmetic and Logic Instructions, Bit and Bit-Test Instructions, Control Transfer (Branch) Instructions, and MCU Control Instructions. While this functional division helps you quickly find the instruction you need when you are writing a program; it does not reflect how the designers of the AVR processor mapped an assembly instruction into a 16-bit machine instruction. For this task a better way to look at the instructions is from the perspective of their addressing mode. We will divide AVR instructions into the following addressing mode types. Data Addressing Modes Direct Register Addressing, Single Register Direct Register Addressing, Two 32 General Purpose Registers Rd and Rr Direct Register Addressing, Two 16 and 8 General Purpose Registers Rd and Rr Direct I/O Addressing (including SREG) Direct I/O Addressing, First 32 I/O Registers Direct SRAM Data Addressing Immediate 8-bit Constant Immediate 6-bit and 4-bit Constant Indirect SRAM Data Addressing with Pre-decrement and Post-increment Indirect Program Memory Addressing (Atmel Program Memory Constant Addressing) Control Transfer Direct Relative, Unconditional Relative, Conditional Indirect MCU Control Instructions 4 P age

5 ATMEGA328P OPERAND LOCATIONS When selecting an addressing mode you should ask yourself where the operand is (data) located within the AVR processor. General Purpose Registers r1 r27 r29 r31 r r2... r14 r15 r16... r25 r26 r28 r3 SRAM Data Memory 248 x 8 SRAM X Y Z SRAM Address x8ff I/O Address FLASH Program Memory 16K x 16 (32 K bytes) byte 1 Application Flash Section x 16-bit Word Address (littleendian) x1 xff 16 Ext I/O Reg. 64 I/O Registers 32 Registers x6 x5f x2 x1f x x3f x Boot Flash Section 256a248 words x3fff 5 P age

6 DATA ADDRESSING MODES DIRECT REGISTER ADDRESSING, SINGLE REGISTER com Rd neg Rd swap Rd inc Rd asr Rd lsr Rd ror Rd dec Rd d dddd nnnn Register File Rd DIRECT REGISTER ADDRESSING, SINGLE REGISTER WITH BIT ADDRESS OPERAND bld bst sbrc sbrs Rd, b Rr, b Rr, b Rr, b Register File nn r/d r/d r/d r/d r/d bbb Rd 31 6 P age

7 DATA ADDRESSING MODES DIRECT REGISTER ADDRESSING, TWO OF 32 8-BIT GENERAL PURPOSE REGISTERS RD AND RR alias 16-bit move and floating point cpc Rd, Rr sbc Rd, Rr add Rd, Rr lsl Rd (let Rr = Rd) cpse Rd, Rr cp Rd, Rr sub Rd, Rr adc Rd, Rr rol Rd (let Rr = Rd) and Rd, Rr tst Rd (let Rr = Rd) eor Rd, Rr clr Rd (let Rr = Rd) or Rd, Rr mov Rd, Rr nn nnrd dddd rrrr Register File Rr Rd 31 DIRECT REGISTER ADDRESSING, TWO OF BIT GENERAL PURPOSE REGISTERS Register File movw Rd, Rr 1 dddd rrrr Rr Rr+1 Rd Rd P age

8 DATA ADDRESSING MODES Multiply DIRECT REGISTER ADDRESSING, TWO 32 GENERAL PURPOSE REGISTERS (RD AND RR) Register File mul Rd, Rr 11 11rd dddd rrrr Rr Rd 31 DIRECT REGISTER ADDRESSING, TWO 16 GENERAL PURPOSE REGISTERS (R15 < RD AND R15 < RR) Register File muls Rd, Rr 1 dddd rrrr 16 Rr Rd 31 DIRECT REGISTER ADDRESSING, TWO 8 GENERAL PURPOSE REGISTERS (R15 <RD < R24 AND R15 <RR < R24) mulsu Rd, Rr 1 fmul Rd, Rr fmuls Rd, Rr 11 fmulsu Rd, Rr 11 nddd nrrr Register File. 16 Rr Rd P age

9 DATA ADDRESSING MODES DIRECT I/O ADDRESSING (INCLUDING SREG) DIRECT I/O ADDRESSING, ONE OF 64 8-BIT I/O REGISTERS in Rd, A AAd dddd AAAA I/O Memory out A, Rr 111 1AAr rrrr AAAA DIRECT I/O ADDRESSING, ONE OF 32 8-BIT I/O REGISTERS WITH BIT ADDRESS OPERAND cbi sbic sbi sbis A, b A, b A, b A, b 11 1nn AAAA Abbb I/O Memory DIRECT I/O ADDRESSING, STATUS REGISTER (SREG) 63 SREG I alias sss bset s bclr s 111 sei cli I/O Memory T H S set seh ses clt clh cls bset bclr s s 11 1 sss sss 1 V 11 sev clv N 1 sen cln Z 1 sez clz C sec clc SREG 63 9 P age

10 DATA ADDRESSING MODES DIRECT SRAM DATA ADDRESSING lds Rd, k 11 d dddd SRAM Data Memory x8ff 248 x 8 SRAM sts k, Rr 11 1r rrrr x1 xff 16 Ext I/O Reg. x6 x5f 64 I/O Registers 32 Registers x2 x1f x 1 P age

11 DATA ADDRESSING MODES IMMEDIATE IMMEDIATE, 8-BIT CONSTANT SOURCE OPERAND WITH REGISTER DESTINATION OPERAND (R15 < RD) ldi Rd, K alias ser Rd (let K = FF 16 ) 111 KKKK dddd KKKK cpi Rd, k 11 KKKK dddd KKKK sbci Rd, K subi Rd, K ori Rd, K andi Rd, K alias sbr Rd, K cbr Rd, K (K = FF K) 1nn KKKK dddd KKKK IMMEDIATE, 6-BIT UNSIGNED CONSTANT ( 63) SOURCE OPERAND WITH ONE OF FOUR (4) 16-BIT REGISTERS (R25:R24, X, Y, Z) adiw Rd, K KKdd KKKK sbiw Rd, K KKdd KKKK IMMEDIATE, 4-BIT CONSTANT SOURCE OPERAND des K 11 1 KKKK P age

12 DATA ADDRESSING MODES INDIRECT SRAM DATA WITH DISPLACEMENT ldd Rd, Z+q ldd Rd, Y+q std Z+q, Rr std Y+q, Rr alias (q = ) ld Rd, Z ld Rd, Y st Z, Rr st Y, Rr q qqn r/d r/d r/d r/d r/d nqqq SRAM Data Memory 248 x 8 SRAM x8ff 15 + Y or Z - Register x1 xff 16 Ext I/O Reg. x6 x5f 64 I/O Registers 32 Registers x2 x1f x 12 P age

13 DATA ADDRESSING MODES INDIRECT SRAM DATA ADDRESSING WITH PRE-DECREMENT AND POST-INCREMENT 1 1 Rn Z+ -Z ld Rd, Rn 11 d dddd nnnn pop Rd 11 d dddd see lpm 11 see lpm Y+ -Y X X+ -X pop (+SP) push (SP-) st Rn, Rr 11 1r rrrr nnnn push Rr 11 1r rrrr 1111 DATA INDIRECT WITH PRE-DECREMENT 15 X,Y or Z - Register SRAM Data Memory x8ff + -1 x SRAM Data Memory DATA INDIRECT WITH POST-INCREMENT x8ff 15 X,Y or Z - Register 1 + x 13 P age

14 DATA ADDRESSING MODES INDIRECT PROGRAM MEMORY ADDRESSING (ATMEL PROGRAM MEMORY CONSTANT ADDRESSING) lpm Rd, Z see illustration 11 d dddd 1 lpm Rd, Z+ 11 d dddd 11 lpm note: R implied Flash Program Memory x 15 Z - Register 7 7 x3fff select 7 8 Rd 14 P age

15 CONTROL TRANSFER DIRECT All control transfer addressing modes modify the program counter. 1 jmp k call k k 11nk color key Flash Program Memory ATmega Family ATmega328P 4 M words 16 K words 15 x 15 PC x3fff 15 P age

16 CONTROL TRANSFER INDIRECT nnn opcode ijmp eijmp ret icall reti eicall notes see illustration n/a to 328P PC M[SP + 1] see illustration PC M[SP + 1] n/a to 328P n n 1n Flash Program Memory x Z - Register 15 PC x3fff 16 P age

17 UNCONDITIONAL CONTROL TRANSFER RELATIVE 1 rjmp k rcall k Flash Program Memory 11n x 15 PC + CONDITIONAL 1 brbs s, k brbc s, k x3fff 1111 nkk ksss NOTES SREG I T H S V N Z C sss brie k brts k brhs k brlt k brvs k brmi k breq k brbs s, k alias brbc s, k brid k brtc k brhc k brge k brvc k brpl k brne k brcs k brlo k brcc k brsh k 1. See Register Direct Addressing for encoding of skip register bit set/clear instructions sbrc and sbrs. 2. See I/O Direct Addressing for encoding of skip I/O register bit set/clear instructions sbis and sbic. 17 P age

18 MCU CONTROL INSTRUCTIONS sleep break wdr nn 1 nop 18 P age

19 PROGRAM DECODING WHO AM I? Addr Machine Instruction Who_Am_I #1: 24 9a5d, // I/O direct d, // I/O direct Who_Am_I #2: 1f8 934f // Indirect SRAM Data Addressing 1f9 b74f, // I/O Direct 1fa 93f // Indirect SRAM Data Addressing 1fb , 1fd 91 12, // Direct SRAM Data Addressing // Direct SRAM Data Addressing 1ff 238, // Direct Register Addressing, 2 91f // Indirect SRAM Data Addressing 21 bf4f, // I/O Direct f // Indirect SRAM Data Addressing P age

20 display: : lds work,imager lds spi7seg,imaged or spi7seg,work call spitx : ret PROGRAM ENCODING DISPLAY 2 P age

21 PROGRAM ENCODING TURN LEFT ; ; Turn Left turnleft: push reg_f in reg_f,sreg : lds work, dir // x = work bit 1, y = work bit bst work, // store y into T bld work1,1 // load dir.1 from T (dir.1 = y) com work // store /x into T bst work,1 bld work1, // load dir. from T (dir. = /x) sts dir, work1 : out SREG, reg_f pop reg_f ret 21 P age

22 PROGRAM ENCODING IN FOREST AND SPITXWAIT inforest: Address Machine Instruction 131 ldi ZL,low(table<<1) // load address of look-up : 2e8 lds work, row // SRAM row address = 11 2e9 2ea cpi work, xff 2eb breq yes 2ec clr cppreg // Compare to eor cppreg, cppreg 2ed rjmp endforest yes: 2ee ser cppreg // compare to ldi cppreg, xff endforest: : 2f3 ret spitxwait: 112 in work,spsr 113 bst work,spif 114 brtc spitxwait 115 ret 22 P age

23 PROGRAM ENCODING BCD TO 7-SEGMENT DISPLAY Program Memory Indirect is great for implementing look-up tables located in Flash program memory including decoders (gray code binary, hex seven segment, ) In this example I build a 7-segment decoder in software. BCD_to_7SEG: Address Machine Instruction 131 ldi ZL,low(table<<1) // load address of look-up 132 ldi ZH,high(table<<1) 133 clr r1 134 add ZL, r adc ZH, r1 136 lpm spi7seg, Z 137 ret 138 table: DB b111111, b11, b P age

24 PROGRAM DECODING SRAM INDIRECT Write and encode a program to set to ASCII Space Character (x2), all the bytes in a 64-byte Buffer. 24 P age

25 APPENDIX A ATMEGA328P INSTRUCTION SET 1 1 Source: ATmega328P Data Sheet Chapter 31 Instruction Set Summary 25 P age

26 26 P age

27 27 P age

28 APPENDIX B ARDUINO PROTO-SHIELD SCHEMATIC 28 P age

29 pulse: Who Am I #1 SOLUTIONS 24 9a5d sbi PORTD,dff_clk // Set clock (2 clock cycles) d cbi PORTD,dff_clk // Clear clock (2 clock cycles) ret hitwall: Who Am I #2 1f8 934f push reg_f // push any flags or registers modified 1f9 b74f in reg_f,sreg 1fa 93f push work 1fb lds cppreg,imaged 1fd lds work,imager 1ff 238 and cppreg,work 2 91f pop work // pop any flags or registers placed on the stack 21 bf4f out SREG, reg_f f pop reg_f ret display: 19a 934f push reg_f 19b b74f in reg_f,sreg 19c 93f push work 29 P age

30 19d lds work,imager 19f lds spi7seg,imaged 1a1 2a8 or spi7seg,work 1a2 94e 19 call spitx 1a4 91f 1a5 bf4f 1a6 914f 1a7 958 pop work out SREG,reg_F pop reg_f ret turnleft: 1b9 934f push reg_f 1ba b74f in reg_f,sreg 1bb 93f 1bc 931f push work push work1 1bd 91 1 lds work, dir // x = work bit 1, y = work bit 1bf fb bst work, // store y into T 1c f911 bld work1,1 // load dir.1 from T (dir.1 = y) 1c1 95 com work // store /x into T 1c2 fb1 bst work,1 1c3 f91 bld work1, // load dir. from T (dir. = /x) 1c sts dir, work1 3 P age

31 1c6 911f 1c7 91f 1c8 bf4f 1c9 914f 1ca 958 pop work1 pop work out SREG, reg_f pop reg_f ret inforest: 2e5 92ff push reg_f // push any flags or registers modified 2e6 b6ff in reg_f,sreg 2e7 93f push work 2e lds work,row 2ea 3ff 2eb f11 cpi work,xff breq yes 2ec 2788 clr cppreg // no 2ed c1 rjmp endforest yes: 2ee ef8f ser cppreg endforest: 2ef 2799 clr r25 // zero-extended to 16-bits for C++ call 2f 91f pop work // pop any flags or registers placed on the stack 2f1 beff out SREG,reg_F 31 P age

32 2f2 9ff 2f3 958 pop reg_f ret spitxwait: ; Wait for transmission complete 112 b5d in r16,spsr 113 fb7 bst r16,spif 114 f7ee brtc spitxwait ret BCD_to_7SEG: 131 e7e ldi ZL,low(table<<1) // load address of look-up 132 ef2 ldi ZH,high(table<<1) clr r1 134 fe add ZL, r df1 adc ZH, r lpm spi7seg, Z ret e 139 6d6d table:.db b111111, b11, b11111, b P age

By: Dr. Hamed Saghaei

By: Dr. Hamed Saghaei By: Dr. Hamed Saghaei The AVR RISC Microcontroller supports powerful and efficient addressing modes for access to the program memory (Flash) and data memory (SRAM). This section describes the different

More information

8-bit Instruction Set

8-bit Instruction Set Instruction Set Nomenclature Status Register (SREG) SREG: Status Register C: Carry Flag Z: Zero Flag N: Negative Flag V: Two s complement overflow indicator S: N V, For signed tests H: Half Carry Flag

More information

8-bit Instruction Set

8-bit Instruction Set Instruction Set Nomenclature Status Register (SREG) SREG: Status Register C: Carry Flag Z: Zero Flag N: Negative Flag V: Two s complement overflow indicator S: N V, For signed tests H: Half Carry Flag

More information

APPENDIX B AVR INSTRUCTIONS EXPLAINED OVERVIEW

APPENDIX B AVR INSTRUCTIONS EXPLAINED OVERVIEW APPENDIX B AVR INSTRUCTIONS EXPLAINED OVERVIEW In this appendix, we describe each intruction of the ATmega328. In many cases, a simple code example is given to clarify the instruction. Instructions are

More information

AVR Control Transfer -AVR Branching

AVR Control Transfer -AVR Branching 1 P a g e AVR Control Transfer -AVR Branching Reading The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi Chapter 3: Branch, Call,

More information

AT90S Bit Microcontroller with 1K bytes Downloadable Flash AT90S1200. Features. Description. Pin Configuration

AT90S Bit Microcontroller with 1K bytes Downloadable Flash AT90S1200. Features. Description. Pin Configuration Features Utilizes the AVR Enhanced RISC Architecture 89 Powerful Instructions - Most Single Clock Cycle Execution 1K bytes of In-System Reprogrammable Downloadable Flash - SPI Serial Interface for Program

More information

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation 2 Atmel AVR 8-bit RISC architecture

More information

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation 2 Atmel AVR 8-bit RISC architecture

More information

AVR ISA & AVR Programming (I)

AVR ISA & AVR Programming (I) AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo Week 1 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation Week 1 2 1 Atmel AVR 8-bit

More information

8-Bit Microcontroller with 1K bytes In-System Programmable Flash AT90S1200. Features. Description. Pin Configuration

8-Bit Microcontroller with 1K bytes In-System Programmable Flash AT90S1200. Features. Description. Pin Configuration Features AVR - High Performance and Low Power RISC Architecture 89 Powerful Instructions - Most Single Clock Cycle Execution 1K bytes of In-System Reprogrammable Flash SPI Serial Interface for Program

More information

Logic Instructions and Programs READING

Logic Instructions and Programs READING 1 P a g e Logic Instructions and Programs READING The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi Chapter 5: Arithmetic, Logic

More information

Building A RISC Microcontroller in an FPGA. Yap Zi He

Building A RISC Microcontroller in an FPGA. Yap Zi He Building A RISC Microcontroller in an FPGA Yap Zi He yapzihe@hotmail.com http://www.opencores.org/projects/riscmcu/ Supervisor : Muhammad Mun im Ahmad Zabidi (Assoc Prof) raden@utm.my Faculty of Electrical

More information

8-Bit Microcontroller with 2K Bytes of In-System Programmable Flash. AT90S2323 AT90LS2323 AT90S2343 AT90LS2343 Preliminary AT90S/LS2323.

8-Bit Microcontroller with 2K Bytes of In-System Programmable Flash. AT90S2323 AT90LS2323 AT90S2343 AT90LS2343 Preliminary AT90S/LS2323. Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 2K bytes of In-System Programmable

More information

Addressing Modes Part II AVR Addressing Indirect READING

Addressing Modes Part II AVR Addressing Indirect READING 1 P a g e Addressing Modes Part II AVR Addressing Indirect READING The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi Chapter 6: AVR

More information

8-Bit Microcontroller with 2K bytes Downloadable Flash. AT90S2313 Preliminary. Features. Description. Pin Configuration

8-Bit Microcontroller with 2K bytes Downloadable Flash. AT90S2313 Preliminary. Features. Description. Pin Configuration Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 120 Powerful Instructions - Most Single Clock Cycle Execution 2K bytes of In-System Reprogrammable

More information

Gates and flip-flops: glue logic, simple FSMs, registers Two-level PLDs: FSMs, muxes, decoders. Programmable logic devices (CSE370, CSE467)

Gates and flip-flops: glue logic, simple FSMs, registers Two-level PLDs: FSMs, muxes, decoders. Programmable logic devices (CSE370, CSE467) Computational hardware Digital logic (CSE370) Gates and flip-flops: glue logic, simple FSMs, registers Two-level PLDs: FSMs, muxes, decoders Programmable logic devices (CSE370, CSE467) Field-programmable

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Instruction Set (AVR) Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3

More information

COMP2121: Microprocessors and Interfacing

COMP2121: Microprocessors and Interfacing Interfacing Lecture 9: Program Control Instructions http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 1, 2006 Program control instructions in AVR Stacks Overview Sample AVR assembly programs

More information

AVR Assembler v Addendum to on-line help. Beta

AVR Assembler v Addendum to on-line help. Beta AVR Assembler v. 2.0 Addendum to on-line help Beta 3 2004-07-07 1 INTRODUCTION... 4 1.1 Intended Audience... 4 1.2 Support...4 2 PACKAGE CONTENTS... 4 3 INSTALLATION... 4 3.1 Uninstallation... 5 4 WHAT'S

More information

COMP2121: Microprocessors and Interfacing. AVR Assembly Programming (I) Basic AVR Instructions

COMP2121: Microprocessors and Interfacing. AVR Assembly Programming (I) Basic AVR Instructions COMP2121: Microprocessors and Interfacing AVR Assembly Programming (I) Basic AVR Instructions http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 1 Contents Arithmetic and Logic Instructions

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22L. Preliminary

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22L. Preliminary Features Utilizes the AVR RISC Architecture AVR - High-performance and Low-power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

More information

COMP3221: Microprocessors and Embedded Systems

COMP3221: Microprocessors and Embedded Systems Embedded ystems Overview Arithmetic and Logic nstructions in AR ample AR Assembly Programs Using AL instructions Lecture 7: Arithmetic and logic nstructions http://www.cse.unsw.edu.au/~cs3221 Lecturer:

More information

Menu. Programming Models for the Atmel XMEGA Architecture (and others devices) Assembly Programming Addressing Modes for the XMEGA Instruction Set

Menu. Programming Models for the Atmel XMEGA Architecture (and others devices) Assembly Programming Addressing Modes for the XMEGA Instruction Set Menu Programming Models for the Atmel XMEGA Architecture (and others devices) Assembly Programming Addressing Modes for the XMEGA Instruction Set Look into my... See examples on web-site: doc8331, doc0856

More information

Chapter 4: Atmel s AVR 8-bit Microcontroller Part 1 Assembly Programming

Chapter 4: Atmel s AVR 8-bit Microcontroller Part 1 Assembly Programming Chapter 4: Atmel s AVR 8-bit Microcontroller Part 1 Assembly Programming Prof. Ben Lee Oregon State University School of Electrical Engineering and Computer Science Chapter Goals Understand how to program

More information

Speed and Size-Optimized Implementations of the PRESENT Cipher for Tiny AVR Devices

Speed and Size-Optimized Implementations of the PRESENT Cipher for Tiny AVR Devices Speed and Size-Optimized Implementations of the PRESENT Cipher for Tiny AVR Devices Kostas Papagiannopoulos Aram Verstegen July 11, 2013 Papagiannopoulos and Verstegen July 11, 2013 Speed and Size-Optimized

More information

COMP2121: Microprocessors and Interfacing

COMP2121: Microprocessors and Interfacing nterfacing Overview Arithmetic and Logic nstructions in AR ample AR Assembly Programs Using AL instructions Lecture 8: Arithmetic and logic nstructions http://www.cse.unsw.edu.au/~cs2121 Lecturer: ui Wu

More information

AVR Logical and Bitwise Instructions

AVR Logical and Bitwise Instructions AVR Logical and Bitwise Instructions Assembly Language Programming SDSMT Dr. Randy C. Hoover Boolean Logic An algebraic system for Boolean data Set: {false, true) Operations: and, or, not The operations

More information

University of Florida EEL 4744 Dr. Eric M. Schwartz. Page 1/11 Revision 0 20-Feb-14 Mixed C and Assembly (for Atmel XMEGA)

University of Florida EEL 4744 Dr. Eric M. Schwartz. Page 1/11 Revision 0 20-Feb-14 Mixed C and Assembly (for Atmel XMEGA) Page 1/11 Revision 0 20-Feb-14 KEY WORDS Compiler, Inline Assembly, GNU Assembler, GCC, AVR-GCC RESOURCES GNU Assembler Resource - http://sourceware.org/binutils/docs-2.23.1/as/index.html AVR-LibC Inline

More information

AT90S Bit Microcontroller with 8K bytes Downloadable Flash. AT90S8515 Preliminary. Features. Description. Pin Configurations

AT90S Bit Microcontroller with 8K bytes Downloadable Flash. AT90S8515 Preliminary. Features. Description. Pin Configurations Features Utilizes the AVR Enhanced RISC Architecture 120 Powerful Instructions - Most Single Clock Cycle Execution 8K bytes of In-System Reprogrammable Downloadable Flash - SPI Serial Interface for Program

More information

Programming. A. Assembly Language Programming. A.1 Machine Code. Machine Code Example: Motorola ADD

Programming. A. Assembly Language Programming. A.1 Machine Code. Machine Code Example: Motorola ADD A. Assembly Language Programming Programming of a computer system: Machine code direct execution Assembly language tool: assembler High level programming language tool: interpreter tool: compiler Programming

More information

;Compiler Options.NOLIST.INCLUDE "C:\Program Files (x86)\atmel\avr Tools\AvrAssembler2\Appnotes\m8515def.inc"

;Compiler Options.NOLIST.INCLUDE C:\Program Files (x86)\atmel\avr Tools\AvrAssembler2\Appnotes\m8515def.inc ;* CharTest.asm ;* ;* Created: 28/06/2017 9:37 p.m. ;* Author: ob1 ;ST7820 128 x 64 graphics mode character display 8 lines x 21 characters ;Modification and redistribution under provisions of GNU general

More information

COMP2121: Microprocessors and Interfacing. Instruction Formats and Addressing Modes

COMP2121: Microprocessors and Interfacing. Instruction Formats and Addressing Modes COMP2121: Microprocessors and Interfacing Instruction Formats and Addressing Modes http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 1 Overview Instruction format AVR instruction format

More information

8-bit Microcontroller with 2K bytes In-System Programmable Flash AT90S2313. Features. Description. Pin Configuration PDIP/SOIC

8-bit Microcontroller with 2K bytes In-System Programmable Flash AT90S2313. Features. Description. Pin Configuration PDIP/SOIC Features Utilizes the AVR RISC Architecture AVR - High-performance and Low-power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

More information

ก AVR Microcontrollers

ก AVR Microcontrollers ก AVR Microcontrollers. ก ก AVR Microcontrollers Architecture 1 Instruction Execution Timing The Parallel Instruction Fetches and Instruction Executions Single Cycle ALU Operation AVR Microcontrollers

More information

!" # Today Class administration, overview of course web, and logistics What is an embedded system? What will we be doing in this class?

! # Today Class administration, overview of course web, and logistics What is an embedded system? What will we be doing in this class? Course staff: Bruce Hemingway and Waylon Brunette, with Chris Grand Course web: http://www.cs.washington.edu/education/courses/csep567/5au/ My office: CSE 464 Allen Center, 26 543-6274 Today Class administration,

More information

instruction 1 Fri Oct 13 13:05:

instruction 1 Fri Oct 13 13:05: instruction Fri Oct :0:0. Introduction SECTION INSTRUCTION SET This section describes the aressing modes and instruction types.. Aressing Modes The CPU uses eight aressing modes for flexibility in accessing

More information

ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Solution Set #2

ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Solution Set #2 ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Set #2 1- Consider the internal structure of the pseudo-cpu discussed in class augmented with a single-port register file (i.e.,

More information

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

DatasheetDirect.com. Visit  to get your free datasheets. This datasheet has been downloaded by DatasheetDirect.com Your dedicated source for free downloadable datasheets. Over one million datasheets Optimized search function Rapid quote option Free unlimited downloads Visit www.datasheetdirect.com

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2313

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2313 Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32x8GeneralPurposeWorkingRegisters Up to 10

More information

Review on Lecture-1. ICT 6641: Advanced Embedded System. Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming

Review on Lecture-1. ICT 6641: Advanced Embedded System. Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming ICT 6641: Advanced Embedded System Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming Prof. S. M. Lutful Kabir Session: April, 2011 Review on Lecture-1 Three parts of a computer : CPU, Memory

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Review Part I Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA February 15, 2018 Aly El-Osery (NMT) EE 308:

More information

COMP3221: Microprocessors and Embedded Systems

COMP3221: Microprocessors and Embedded Systems Embedded Systems Lecture 6: Addressing Modes http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session 2, 2005 Addressing Modes Overview Instruction Examples 1 2 Operands Immediate Addressing Instructions

More information

8-bit Microcontroller with 1K Bytes Flash. ATtiny15L. Advance Information

8-bit Microcontroller with 1K Bytes Flash. ATtiny15L. Advance Information Features High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 90 Powerful Instructions Most Single-clock Cycle Execution 32 x 8 General-purpose Working Registers Fully Static

More information

AVR MICROCONTROLLER ARCHITECTURTE

AVR MICROCONTROLLER ARCHITECTURTE AVR MICROCONTROLLER ARCHITECTURTE AVR MICROCONTROLLER AVR- Advanced Virtual RISC. The founders are Alf Egil Bogen Vegard Wollan RISC AVR architecture was conceived by two students at Norwegian Institute

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Assmbly Language Part I Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA January 30, 2018 Aly El-Osery (NMT)

More information

Lecture 20: AVR Programming, Continued. AVR Program Visible State (ones we care about for now)

Lecture 20: AVR Programming, Continued. AVR Program Visible State (ones we care about for now) 18 100 Lecture 20: AVR Programming, Continued S 15 L20 1 James C. Hoe Dept of ECE, CMU April 2, 2015 Today s Goal: You will all be ace AVR hackers! Announcements: Midterm 2 can be picked up in lab and

More information

Mechatronics and Microcomputers. Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD

Mechatronics and Microcomputers. Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD Mechatronics and Microcomputers Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek

More information

Introduction to Assembly language

Introduction to Assembly language Introduction to Assembly language 1 USING THE AVR MICROPROCESSOR Outline Introduction to Assembly Code The AVR Microprocessor Binary/Hex Numbers Breaking down an example microprocessor program AVR instructions

More information

Module 8: Atmega32 Stack & Subroutine. Stack Pointer Subroutine Call function

Module 8: Atmega32 Stack & Subroutine. Stack Pointer Subroutine Call function Module 8: Atmega32 Stack & Subroutine Stack Pointer Subroutine Call function Stack Stack o Stack is a section of RAM used by the CPU to store information temporarily (i.e. data or address). o The CPU needs

More information

DESIGN NOTE #032. AVR Boot Loader. Introduction. Overview AUTHOR: MARIANO BARRÓN RUIZ KEYWORDS: BOOT LOADER, SPM, SELF-PROGRAMMING

DESIGN NOTE #032. AVR Boot Loader. Introduction. Overview AUTHOR: MARIANO BARRÓN RUIZ KEYWORDS: BOOT LOADER, SPM, SELF-PROGRAMMING DESIGN NOTE AUTHOR: #032 MARIANO BARRÓN RUIZ ISPBARUM@SB.EHU.ES KEYWORDS: BOOT LOADER, SPM, SELF-PROGRAMMING This document is originally distributed by AVRfreaks.net, and may be distributed, reproduced,

More information

Assembly Programming (III)

Assembly Programming (III) Assembly Programming (III) Lecturer: Annie Guo S2, 2006 COMP9032 Week6 1 Lecture Overview Stack and stack operations Functions and function calls Calling conventions S2, 2006 COMP9032 Week6 2 What is stack?

More information

APPENDIX A FOR SKEE3732 LABORATORY 1 SHEET

APPENDIX A FOR SKEE3732 LABORATORY 1 SHEET APPENDIX A FOR SKEE3732 LABORATORY 1 SHEET Other documents that are referred within this document are located at the link https://www.dropbox.com/sh/s16jri4eol3agl5/aaazn_w3p7fodjs-wi-xcenqa?dl=0 The ATmega32/ATmega2A

More information

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture) COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2

More information

SN8F5000 Family Instruction Set

SN8F5000 Family Instruction Set SONiX Technology Co., Ltd. 8051-based Microcontroller 1 Overview SN8F5000 is 8051 Flash Type microcontroller supports comprehensive assembly instructions and which are fully compatible with standard 8051.

More information

AVR Microcontrollers Architecture

AVR Microcontrollers Architecture ก ก There are two fundamental architectures to access memory 1. Von Neumann Architecture 2. Harvard Architecture 2 1 Harvard Architecture The term originated from the Harvard Mark 1 relay-based computer,

More information

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA) COMP2121: Microprocessors and Interfacing Instruction Set Architecture (ISA) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 Contents Memory models Registers Data types Instructions

More information

8-bit Microcontroller with 2K Bytes of Flash. ATtiny28L ATtiny28V. Summary

8-bit Microcontroller with 2K Bytes of Flash. ATtiny28L ATtiny28V. Summary Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 90 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up to

More information

Assembly Programming (III) Lecturer: Sri Parameswaran Notes by: Annie Guo Dr. Hui Wu

Assembly Programming (III) Lecturer: Sri Parameswaran Notes by: Annie Guo Dr. Hui Wu Assembly Programming (III) Lecturer: Sri Parameswaran Notes by: Annie Guo Dr. Hui Wu 1 Lecture overview Stack and stack operations Functions and function calls Calling conventions 2 Stack What is stack?

More information

Atmel AVR Microcontroller Family - Product Selection Guide

Atmel AVR Microcontroller Family - Product Selection Guide Atmel AVR Microcontroller Family - Product Selection Guide DEVICE 90S1200 90S2313 90S2343 90S4414 90S8515 90S2333 90S8535 MEGA603 MEGA103 ON-CHIP MEMORY FLASH (Bytes) 1K 2K 2K 4K 8K 2K 8K 64K 128K EEPROM

More information

Assembly AVR Boot loader

Assembly AVR Boot loader Assembly AVR Boot loader Mariano Barrón Ruiz ispbarum@sb.ehu.es Introduction This document presents a software written in assembly for self-programming all AVR microcontrollers with Boot Loader Flash Section.

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22 ATtiny22L. Preliminary. Features. Description

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22 ATtiny22L. Preliminary. Features. Description Features Utilizes the AVR RISC Architecture AVR - High-performance and Low-power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

More information

Atmel AVR Microcontroller Family - Product Selection Guide

Atmel AVR Microcontroller Family - Product Selection Guide Atmel AVR Microcontroller Family - Product Selection Guide DEVICE 90S1200 90S2313 90S2343 90S4414 90S8515 90S2333 90S8535 MEGA603 MEGA103 ON-CHIP MEMORY FLASH (Bytes) 1K 2K 2K 4K 8K 2K 8K 64K 128K EEPROM

More information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic

More information

Generating DMX-512 with Atmel Mega644P CPUs Andy Miyakawa / Director of Software Development Eclectic Electric / Dandy Solutions June 2008

Generating DMX-512 with Atmel Mega644P CPUs Andy Miyakawa / Director of Software Development Eclectic Electric / Dandy Solutions June 2008 Generating DMX-512 with Atmel Mega644P CPUs Andy Miyakawa / Director of Software Development Eclectic Electric / Dandy Solutions June 2008 What is DMX-512? DMX-512 is a data transmission scheme used originally

More information

COMP2121: Microprocessors and Interfacing. I/O Devices (II)

COMP2121: Microprocessors and Interfacing. I/O Devices (II) COMP2121: Microprocessors and Interfacing I/O Devices (II) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 Overview Keyboard LCD (Liquid Crystal Display) 2 2 Input Switches (1/2)

More information

ATmega128 Assembly Language Programming

ATmega128 Assembly Language Programming 마이크로프로세서응용 7 ATmega128 Assembly Language Programming Assembly Language g Field Delimiter Field structure a space or colon after a label a space after the operation code a comma between operands in the

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2323 AT90LS2323 AT90S2343 AT90S/LS2323. Features.

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2323 AT90LS2323 AT90S2343 AT90S/LS2323. Features. Features Utilizes the AVR RISC Architecture AVR - High-performance and Low-power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

More information

The 6502 Instruction Set

The 6502 Instruction Set The 6502 Instruction Set Load and Store Group LDA Load Accumulator N,Z LDX Load X Register N,Z LDY Load Y Register N,Z STA Store Accumulator STX Store X Register STY Store Y Register Arithmetic Group ADC

More information

8-bit Microcontroller with 1K Byte Flash. ATtiny15L. Summary

8-bit Microcontroller with 1K Byte Flash. ATtiny15L. Summary Features High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 90 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1

CIS-331 Exam 2 Spring 2016 Total of 110 Points Version 1 Version 1 1. (20 Points) Given the class A network address 121.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 8,100 subnets? b. (5 Points) What is

More information

ATmega Interrupts. Reading. The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi

ATmega Interrupts. Reading. The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi 1 P a g e ATmega Interrupts Reading The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi Chapter 10: AVR Interrupt Programming in Assembly

More information

8-bit Microcontroller with 8K Bytes Programmable Flash AT90C8534. Preliminary

8-bit Microcontroller with 8K Bytes Programmable Flash AT90C8534. Preliminary Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up

More information

ECED 3204 Microprocessor Midterm Reference Solution

ECED 3204 Microprocessor Midterm Reference Solution ECED 3204 Microprocessor Midterm Reference Solution Date: October 26 2017 Time: 7:00pm-9:00pm Room: B225, B227, B229 Student name ID 1) Problem one has following two sub problems: a. Write an instruction

More information

ECE 471 Embedded Systems Lecture 5

ECE 471 Embedded Systems Lecture 5 ECE 471 Embedded Systems Lecture 5 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 17 September 2013 HW#1 is due Thursday Announcements For next class, at least skim book Chapter

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Introduction to the Assmbly Language Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA January 25, 2018 Aly

More information

Input/Output Devices. Lecturer: Sri Parameswaran Notes by: Annie Guo

Input/Output Devices. Lecturer: Sri Parameswaran Notes by: Annie Guo Input/Output Devices Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview Input devices Input switches Basics of switches Keypads Output devices LCD 2 Input Switches Most basic binary input

More information

[TUT] Newbie's Guide to AVR Interrupts

[TUT] Newbie's Guide to AVR Interrupts This tutorial is about interrupt driven USART receive and transmit routines written in AVR assembly. The hardware is: Arduino Mega2560 Adafruit Ultimate GPS IBM PC Atmel JTAGICE3 Software: Atmel AS6.1

More information

0b) [2] Can you name 2 people form technical support services (stockroom)?

0b) [2] Can you name 2 people form technical support services (stockroom)? ECE 372 1 st Midterm ECE 372 Midterm Exam Fall 2004 In this exam only pencil/pen are allowed. Please write your name on the front page. If you unstaple the papers write your name on the loose papers also.

More information

TYPES OF INTERRUPTS: -

TYPES OF INTERRUPTS: - There are 3 types of interrupts. TYPES OF INTERRUPTS: - External Interrupts. Internal Interrupts. Software interrupts. Hardware Interrupts (1) External interrupts come from I/O devices, from a timing device

More information

INSTRUCTION SET AND EXECUTION

INSTRUCTION SET AND EXECUTION SECTION 6 INSTRUCTION SET AND EXECUTION Fetch F1 F2 F3 F3e F4 F5 F6 Decode D1 D2 D3 D3e D4 D5 Execute E1 E2 E3 E3e E4 Instruction Cycle: 1 2 3 4 5 6 7 MOTOROLA INSTRUCTION SET AND EXECUTION 6-1 SECTION

More information

Programmable Microcontroller Peripherals

Programmable Microcontroller Peripherals Programmable Microcontroller Peripherals Anders Ruden Master of Science in Electronics Submission date: June 2013 Supervisor: Bjørn B. Larsen, IET Co-supervisor: Tor Erik Leistad, Atmel Norway AS Norwegian

More information

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT90S8515. Summary

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT90S8515. Summary Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up

More information

Register-Level Programming

Register-Level Programming Introduction Register-Level Programming Programming can be considered a set a instructions that are executed in a precise order. A programming simulator can evaluate how instructions store, move and calculate

More information

ECED3204: Microprocessor Part I--Introduction

ECED3204: Microprocessor Part I--Introduction ECED3204: Microprocessor Part I--Introduction Jason J. Gu Department of 1 Outline i. Computer ii. Processor iii. Embedded System iv. Memory v. Program Execution VI. VII. VIII. IX. AVR AVR Memory AVR CPU

More information

8-bit Microcontroller with 4K Bytes In-System Programmable Flash. ATtiny40. Preliminary

8-bit Microcontroller with 4K Bytes In-System Programmable Flash. ATtiny40. Preliminary Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 54 Powerful Instructions Most Single Clock Cycle Execution 16 x 8 General Purpose Working Registers Fully Static

More information

ATMega16 AVR AVR AVR DIP. (in-circiut programming) desktop MOSI MOSIT. AVRProg. header. (toggle)

ATMega16 AVR AVR AVR DIP. (in-circiut programming) desktop MOSI MOSIT. AVRProg. header. (toggle) ATMega16 AVR AVR ATMega16 AVR AVR AVR DIP (in-circiut programming) desktop MOSI GND SK MISO MOSIT Ω Dontronic SK MISO AVRProg AVR109 JTAGIEII STK500 AVR header AVRProg clock I/O (toggle) clock GND V ATMega16

More information

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) (Revision-10) FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) PART-A (Maximum marks : 10) I. Answer all

More information

BASIC AVR ARITHMATIC v1.1 ADDITION and SUBTRACTION by

BASIC AVR ARITHMATIC v1.1 ADDITION and SUBTRACTION by BASIC AVR ARITHMATIC v1.1 ADDITION and SUBTRACTION by RetroDan@GMail.Com CONTENTS: 1. ADDING AND SUBTRACTING ONE FROM A REGISTER 2. LOADING A REGISTER WITH A CONSTANT 3. ADDING AND SUBTRACTING A CONSTANT

More information

4. Specifications and Additional Information

4. Specifications and Additional Information 4. Specifications and Additional Information AGX52004-1.0 8B/10B Code This section provides information about the data and control codes for Arria GX devices. Code Notation The 8B/10B data and control

More information

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1

CIS-331 Exam 2 Fall 2015 Total of 105 Points Version 1 Version 1 1. (20 Points) Given the class A network address 117.0.0.0 will be divided into multiple subnets. a. (5 Points) How many bits will be necessary to address 4,000 subnets? b. (5 Points) What is

More information

Today s Menu. >Use the Internal Register(s) >Use the Program Memory Space >Use the Stack >Use global memory

Today s Menu. >Use the Internal Register(s) >Use the Program Memory Space >Use the Stack >Use global memory Today s Menu Methods >Use the Internal Register(s) >Use the Program Memory Space >Use the Stack >Use global memory Look into my See examples on web-site: ParamPassing*asm and see Methods in Software and

More information

Microprocessors & Interfacing

Microprocessors & Interfacing Lecture Overview Microprocessors & Interfacing Input/Output Devices Input devices Input switches Basics of switches Keypads Output devices LCD Lecturer : Dr. Annie Guo S2, 2008 COMP9032 Week8 1 S2, 2008

More information

Central Processing Unit

Central Processing Unit Central Processing Unit Networks and Embedded Software Module.. by Wolfgang Neff Components () lock diagram Execution Unit Control Unit Registers rithmetic logic unit DD, SU etc. NOT, ND etc. us Interface

More information

Processor Status Register(PSR)

Processor Status Register(PSR) ARM Registers Register internal CPU hardware device that stores binary data; can be accessed much more rapidly than a location in RAM ARM has 13 general-purpose registers R0-R12 1 Stack Pointer (SP) R13

More information

Introduction to AVR-STUDIO

Introduction to AVR-STUDIO DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Introduction to AVR-STUDIO Computer Structure 1.Introduction and goals The goals of this session are the following:

More information

CHW 469 : Embedded Systems

CHW 469 : Embedded Systems CHW 469 : Embedded Systems Instructor: Dr. Ahmed Shalaby http://bu.edu.eg/staff/ahmedshalaby4# I/O Ports in AVR The AVR microcontroller and embedded systems using assembly and c Topics AVR pin out The

More information

Data Transfer Instructions

Data Transfer Instructions Data Transfer Instructions (Credit: Hui Wu/COMP2121 Lecture Notes) Load Direct (ld): ld Rd, v Rd {r0, r1,..., r31} and v {x, x+, -x, y, y+, -y, z, z+, -z} (remember the X, Y, Z pointers) Load Program Memory

More information

68HC11 PROGRAMMER'S MODEL

68HC11 PROGRAMMER'S MODEL 8H11 PROGRMMER'S MODEL s (,, and D) s and are general-purpose 8-bit accumulators used to hold operands and results of arithmetic calculations or data manipulations. Some instructions treat the combination

More information

Microprocessors & Interfacing

Microprocessors & Interfacing Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts

More information

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1 Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR

More information