1 / 36

Introduction to 80C188EB Microprocessor Systems

This introduction covers topics such as 80C188EB organization, segmentation, reset processing, programmer's model, machine language, assembly language, debuggers, and architecture.

danalee
Download Presentation

Introduction to 80C188EB Microprocessor Systems

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. ECE 353Introduction to Microprocessor Systems Michael J. Schulte Week 3

  2. Topics • 80C188EB Organization (continued) • Segmentation • Reset Processing • Programmer’s Model • 80C188EB Machine Language • 80C188EB Assembly Language and Assemblers • 80C188EB Debuggers

  3. 80C188EB/80C186EBImplementation

  4. Segmented Memory Architecture • Memory Segmentation • Logical vs. Physical Addresses • Segment Organization • Topologies • Disjoint • Overlapping • Identical • Physical Address Generation • Advantages • Disadvantages

  5. 80C188EBArchitecture

  6. 80C188EB Programmer’s Model

  7. Programming • Programming Languages • HLL • Assembly Language • Machine Language • Machine Language Instructions • 1 – 6 bytes in length • Encoding

  8. Assembler Primer • Assembler Types • Native Assembler • Cross Assembler • General Instruction Syntax • Assembler Functions

  9. ExampleProgram Hardware

  10. Source Code File .186 ;use 80186 instructions SWITCHES equ 1234h ;define symbols LEDS equ 5678h assume cs:code ;establish CS addressability code segment ;start of code segment main: mov dx, SWITCHES ;load switch port address in al, dx ;read switches not al ;switch off turns LED on mov dx, LEDS ;load LED port address out dx, al ;write to LED port jmp main ;and repeat indefinitely code ends ;end of code segment end main ;code entry point is at main

  11. Assembler Listing File (page 1) Turbo Assembler Version 4.1 09/12/01 08:49:11 Page 1 week3.ASM 1 .186 ;use 80186 instructions 2 3 =1234 SWITCHES equ 1234h ;define symbols 4 =5678 LEDS equ 5678h 5 6 assume cs:code ;establish CS addressability 7 8 0000 code segment ;start of code segment 9 10 0000 BA 1234 main: mov dx, SWITCHES ;load switch port address 11 0003 EC in al, dx ;read switches 12 0004 F6 D0 not al ;SW=1 --> LED on 13 0006 BA 5678 mov dx, LEDS ;load LED port address 14 0009 EE out dx, al ;write to LED port 15 000A EB F4 jmp main ;and repeat indefinitely 16 17 000C code ends ;end of code segment 18 19 end main ;code entry point is at main

  12. Assembler Listing File (page 2) Turbo Assembler Version 4.1 09/12/01 08:49:11 Page 2 Symbol Table Symbol Name Type Value ??DATE Text "09/12/01" ??FILENAME Text "week3 " ??TIME Text "08:49:11" ??VERSION Number 040A @CPU Text 0103H @CURSEG Text CODE @FILENAME Text WEEK3 @WORDSIZE Text 2 LEDS Number 5678 MAIN Near CODE:0000 SWITCHES Number 1234 Groups & Segments Bit Size Align Combine Class CODE 16 000C Para none

  13. Code Generation Process

  14. Intel Hex Record Format :020000021000EC :0C000000BA3412ECF6D0BA7856EEEBF4ED :00000001FF Disassembling the data record payload. BA3412(mov dx, 1234h)EC(in al, dx)F6D0(not al) BA7856(mov dx, 5678h)EE(out dx, al)EBF4(jmp –12)

  15. Borland Development Tools

  16. Debugger Primer • So, why is it called a bug, anyway? • Terminology • Typical Debugger Operation • Debugging Tools • Software • Hardware • Comparison of Debugging Tools

  17. Code Development Tips • Use structured programming methods - no spaghetti code. • Use descriptive symbols and names. • Write comments as you go (or before!). • When fixing assembler errors, fix only the top one or two and re-assemble – a lot of the later errors may be due to the first few. • When debugging, verify what the registers are loaded with as compared to what you think they should be loaded with.

  18. Instruction Decoding Exercise • The following memory dump was obtained from an 80C188EB-based system • CS:0013 is a valid instruction • Decode the memory data to determine the instructions that were assembled to produce it. CS:0013 B0 12 BA 34 12 FE C7 EB F7

  19. Instruction Decoding Solution

  20. Wrapping Up • Homework #2 due Friday 2/18 • Reading for next week • Chapter 6

  21. 80C188EB Instruction Encoding

  22. JMP Instruction Encoding

  23. INC Instruction Encoding

  24. Debugging Tools maybe yes

  25. Disjoint Segments

  26. Overlapping Segments

  27. Identical Segments

  28. JTAG Boundary Cell

  29. Simulator • Runs on a host computer, and simulates execution of your code. No actual hardware required. • Strengths • Weaknesses

  30. Native Debugger • Code is executed on a host computer with a compatible instruction set. • Strengths • Weaknesses

  31. Resident Monitor • Monitor is a stand-alone program that runs on the UUT, typically communicates over serial interface to a terminal. • Strengths • Weaknesses

  32. Remote Debugger • Similar to resident monitor, but only small debugger kernel on UUT. Main debugger software runs on a host computer connected to the UUT. • Strengths • Weaknesses

  33. ROM Emulator • Hardware plugs into ROM socket on UUT. Usually has serial connection to host computer. • Strengths • Weaknesses

  34. Target Access Probe • Replaces the CPU on UUT. Connected to host computer for control. • Strengths • Weaknesses

  35. In-Circuit Emulator • Replaces UUT CPU with hardware that gives full control of CPU pins (i.e. can run arbitrary bus cycles). Often contain overlay memory to allow testing of software before system hardware is available. May clamp over existing CPU that is soldered in place. • Strengths • Weaknesses

  36. JTAG Emulators • Special serial interface to a device originally proposed just for testing (IEEE Std 1149.1) • Boundary Scan • Emulation Scan • Strengths • Weaknesses

More Related