1 / 24

Starting to Program – An Introduction to Assembler

Starting to Program – An Introduction to Assembler. Chapter Four. Outline. Introduction The PIC 16 Series Instruction Set Byte-oriented file register operations Bit-oriented file register operations Literal and control operations Instruction Formats Operation Types MPASM Assembler

mona-stein
Download Presentation

Starting to Program – An Introduction to Assembler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Starting to Program – An Introduction to Assembler Chapter Four Dr. Gheith Abandah

  2. Outline • Introduction • The PIC 16 Series Instruction Set • Byte-oriented file register operations • Bit-oriented file register operations • Literal and control operations • Instruction Formats • Operation Types • MPASM Assembler • Example Dr. Gheith Abandah

  3. Introduction Micro-controller Programming Options: • Machine Code 00 0111 0001 0101 • Assembly Language: needs an assembler addwf NUM, w • High-Level Language: needs a compiler for (i=0; i<10; i++) sum += a[i]; Dr. Gheith Abandah

  4. Development Process Dr. Gheith Abandah

  5. ALU Data Flow Dr. Gheith Abandah

  6. The PIC 16 Series Instruction Set • 35 instructions • Three Groups: • Byte-oriented file register operations • Bit-oriented file register operations • Literal and control operations • Operation Types: • Arithmetic – Logic • Data movement – Control • Misc Dr. Gheith Abandah

  7. 1. Byte-oriented file register operations • Format: op f, d • op: operation • f: number of file or register • d: destination (0: working register, 1: file register) • Example: addwf PORTA, 0 Adds the contents of the working register and register PORTA, puts the result in the working register. Dr. Gheith Abandah

  8. 2. Bit-oriented file register operations • Format: op f, b • op: operation • f: number of file or register • b: bit number, 0 through 7 • Example: bsf STATUS, 5 Sets to 1 Bit 5 of register STATUS. Dr. Gheith Abandah

  9. 3. Literal and control operations • Format: op k • op: operation • k: literal, an 8-bit if data or 11-bit if address • Examples: addlw 5 Adds to the working register the value 5. call 9 Calls the subroutine at address 9. Dr. Gheith Abandah

  10. Instruction Formats Dr. Gheith Abandah

  11. Arithmetic Operations Dr. Gheith Abandah

  12. Logic Operations Dr. Gheith Abandah

  13. Data Movement Operations Dr. Gheith Abandah

  14. Control Operations Dr. Gheith Abandah

  15. Miscellaneous Operations Dr. Gheith Abandah

  16. Assembler Format Dr. Gheith Abandah

  17. Assembler Directives Dr. Gheith Abandah

  18. Number Representation in MPASM Dr. Gheith Abandah

  19. Example: move push button to LED Dr. Gheith Abandah

  20. Example – Page 1 ;*************************************************** ;ELECTRONIC PING-PONG DATA MOVE ;This program moves push button switch values from ;Port A to the leds on Port B ;TJW 21.2.05 Tested 22.2.05 ;*************************************************** ; ;Configuration Word: WDT off, power-up timer on, ; code protect off, RC oscillator ; list p=16F84A Dr. Gheith Abandah

  21. Example – Page 2 ; ;specify SFRs status equ 03 porta equ 05 trisa equ 05 portb equ 06 trisb equ 06 ; Dr. Gheith Abandah

  22. Example – Page 3 ; org 00 ;Initialise start bsf status,5 ;select memory bank 1 movlw B’00011000’ movwf trisa ;set port A direction movlw 00 movwf trisb ;all port B bits output bcf status,5 ;select bank 0 Dr. Gheith Abandah

  23. Example – Page 4 ; ;The "main" program starts here clrf porta ;clear all bits in ports A loop movf porta,0 ;move port A to W register movwf portb ;move W register to port B goto loop end Dr. Gheith Abandah

  24. Summary • Assembler is a programming language that is part of the toolset used in embedded systems programming. It comes with its own distinct set of rules and techniques. • It is essential to adopt and learn an IDE when developing programs. The MPLAB IDE is an excellent tool for PIC microcontrollers, both for learners and professionals. And it can’t be beaten on price! • While some people are eager to get programs into the hardware immediately, it is extremely useful to learn the features of a simulator. The simulator in MPLAB allows the user to test program features with great speed, and is an invaluable learning tool. Dr. Gheith Abandah

More Related