1 / 25

Presentation on Microprocessor and Assembly Language Programming

Presentation on Microprocessor and Assembly Language Programming. Presented By WWW.AssignmentPoint.Com. Books. Fundamentals of Digital Logic and Microcomputer Design – M. Rafiaquzzaman The Intel Microprocessors 8086/8088 … , and Pentium Pro Processors – Barry B. Brey

mike_john
Télécharger la présentation

Presentation on Microprocessor and Assembly Language Programming

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. Presentation on Microprocessor and Assembly Language Programming Presented By WWW.AssignmentPoint.Com www.assignmentpoint.com

  2. Books • Fundamentals of Digital Logic and Microcomputer Design – M. Rafiaquzzaman • The Intel Microprocessors 8086/8088 … , and Pentium Pro Processors – Barry B. Brey • Assembly Language Programming and Organization of the IBM PC – Ytha Yu, Charles Marut www.assignmentpoint.com

  3. Assembly Language Programming www.assignmentpoint.com

  4. What is Microcomputer? www.assignmentpoint.com

  5. The Microprocessor and Its Architecture • ALU (Arithmetic and Logic Unit) • The Control Unit • Registers Microprocessor R1 R1 Cache Memory R3 RAM HDD www.assignmentpoint.com

  6. The Programming Model • Program visible registers • We can access via programs • Program invisible registers • We can not access via programs www.assignmentpoint.com

  7. Registers 16 bit Segment registers www.assignmentpoint.com

  8. Example Data • If AX = 20A2H then AH = 20H, AL = A2H • In other words, if AH = 1CH and AL = A2H then AX = 1CA2H AH AL 0010 0000 1010 0010 AX www.assignmentpoint.com

  9. The FLAGS register • FLAGS indicate the condition of the MP • Also control the operations • FLAGS are upward compatible from 8086/8088 to Pentium/Pentium Pro Figure 2.2: The EFLAG and FLAG registers www.assignmentpoint.com

  10. The FLAGs • Carry Flag – C • C = 1 if there is a carry out from the msb on addition • Or, there is a borrow into the msb on subtraction • Otherwise C = 0 • C flag is also affected by shift and rotate instructions 10101010 11101010 111010100 C = 1, in this case www.assignmentpoint.com

  11. The FLAGs • Parity Flag – P • P = 1 for even parity, if number contains even number of ones • P = 0 for odd parity, if odd number of ones 10101010 10101011 Even number of ones Odd number of ones P = 0 P = 1 Definition changes from microprocessor to microprocessor www.assignmentpoint.com

  12. The FLAGs • Zero Flag – Z • Z = 1 for zero result • Z = 0 for non-zero result • Sign Flag – S • S = 1 if msb of a result is 1, means negative number • S = 0 if msb of a result is 0, means positive number www.assignmentpoint.com

  13. The FLAGs • Trap Flag – T • Enables trapping through an on-chip debugging feature • T = 1 MP interrupts the flow of a program, i.e. debug mode is enabled • T = 0 debug mode is disabled • Direction Flag – D • Selects increment/decrement mode of SI and/or DI registers during string instructions • D = 1, decrement mode, STD(set direction) instruction used • D = 0, increment mode, CLD(clear direction) instruction used www.assignmentpoint.com

  14. The FLAGs • Overflow Flag – O • O = 1 if signed overflow occurred • O = 0 otherwise • Overflow is associated with the fact of range of numbers represented in a computer • 8 bit unsigned number range (0 to 255) • 8 bit signed number range (-128 to 127) • 16 bit unsigned number range (0 to 65535) • 16 bit signed number range (-32768 to 32767) www.assignmentpoint.com

  15. Signed vs. Unsigned Overflow • Let, AX = FFFFh, BX = 0001h and execute • ADD AX, BX 1111 1111 1111 1111 + 0000 0000 0000 0001 1 0000 0000 0000 0000 AX BX • Unsigned interpretation • Correct answer is 10000h = 65536 • But this is out of range. • 1 is carried out of msb, AX = 0000h, which is wrong • Unsigned overflow occured • Signed interpretation • FFFFh = -1, 0001h = 1, summation is -1+1 = 0 • Singned overflow did not occur www.assignmentpoint.com

  16. How instructions affect the flags? • Every time the processor executes a instruction, the flags are altered to reflect the result • Let us take the following flags and instructions None All All except C All (C = 1 unless result is 0) • Sign Flag – S • Parity Flag – P • Zero Flag – Z • Carry Flag – C • MOV/XCHG • ADD/SUB • INC/DEC • NEG www.assignmentpoint.com

  17. Example 1 • Let AX = FFFFh, BX = FFFFh and execute ADD AX, BX FFFFh + FFFFh 1 FFFEh The result stored in AX is FFFEh = 1111 1111 1111 1110 S P Z C = 1 because the msb is 1 = 0 because the are 15 of 1 bits, odd parity = 0 because the result is non-zero = 1 because there is a carry out of the msb on addition www.assignmentpoint.com

  18. Example 2 • Let AX = 8000h, BX = 0001h and execute SUB AX, BX 8000h - 0001h 7FFFh The result stored in AX is 7FFFh = 0111 1111 1111 1111 S P Z C = 0 because the msb is 0 = 0 because the are 15 of 1 bits, odd parity = 0 because the result is non-zero = 0 because there is no carry www.assignmentpoint.com

  19. Registers 16 bit Segment registers www.assignmentpoint.com

  20. Segment Registers Segment n * * * Segment 2 Segment 1 16 bit Segment registers CS DS SS 0000h 8000h A000h www.assignmentpoint.com

  21. An Assembly Program #include <stdio.h> void main () { int I, j ; ********* // comment ********* } Example 3-5 of Barry B. Brey’s book www.assignmentpoint.com

  22. An Assembly Program Cont. • What is the content of BX? AH AL 00h 10h AAhAAh AX BH BL BX 10h 00h AAh AAh 00h 00h DATA1 DATA2 DATA3 DATA4 www.assignmentpoint.com

  23. Assembly Language Structure www.assignmentpoint.com

  24. An Assembly Program • SMALL model allows one data segment and one code segment • TINY model directs the assembler to assemble the program into a single segment • DB for Define Byte (one single byte) • DW for Define Word (two consecutive bytes) 10h 00h AAh AAh 00h 00h DATA1 DATA2 DATA3 DATA4 www.assignmentpoint.com

  25. Another Example www.assignmentpoint.com

More Related