1 / 24

TK2633 : MICROPROCESSOR & INTERFACING

TK2633 : MICROPROCESSOR & INTERFACING. Lecture 10: Fixed Point Arithmetic. Lecturer: Ass. Prof. Dr. Masri Ayob. Fixed Point Arithmetic. 8-bit binary addition. Suppose that the ten 8-bit numbers, stored at memory locations 2800H through 2809H, are added.

leane
Download Presentation

TK2633 : MICROPROCESSOR & INTERFACING

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. TK2633 : MICROPROCESSOR & INTERFACING Lecture 10: Fixed Point Arithmetic Lecturer: Ass. Prof. Dr. Masri Ayob

  2. Fixed Point Arithmetic. • 8-bit binary addition. • Suppose that the ten 8-bit numbers, stored at memory locations 2800H through 2809H, are added. • To sum these data, an 8-bit instructions are chosen. • The ADD M instruction is chosen. • Since this is to add 10 numbers, the programme loop construct is ideal for this problem. • Figure illustrates the flowchart to tackle the problem. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  3. 8-bit binary addition • The 8-bit binary addition listed in the example below, results in a problem that the largest sum can be only 0FFH. • This sum is appropriate only if 10 numbers are small, therefore to avoid overflow for bigger sum operation, the 16-bit sum operation will take place. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  4. 8-bit binary addition • Example of 16-bit summation. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  5. 8-bit binary subtraction • Suppose that two lists of numbers, each 10H bytes long, appear in the memory to be subtracted. • A programme must take the number stored at LIST2 and subtract it from the number stored at LIST1. • The difference must be stored at a location in LIST2. • This operation repeats 10H times until all sets of numbers are subtracted. • Figure illustrates the process. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  6. 8-bit binary subtraction: Exercise • There are two lists of numbers (LIST1 and LIST2), each 10H bytes long, appear in the memory. Write a program to take the number stored at LIST2 and subtract it from the number stored at LIST1. The difference must be stored at a location in LIST2. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  7. Unsigned Multiplication by Repeated Addition • Repeated addition is the simplest method of multiplication to understand. • Suppose to multiply two 8-bit numbers, one number can be used as the loop counter. • The other number can be added the number of times stored in the loop counter. • Figure illustrates how the number 6 can be multiplied by 3. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  8. Unsigned Multiplication by Repeated Addition Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  9. Unsigned Constant Multiplication • Instead of using the repeated addition technique presented earlier, another technique often results in a much faster multiplication, which using DAD instruction. • The easiest way to multiply by 4 is by using the DAD H instruction. • Remember that if double HL twice, it is multiplied by 4. • Example : Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  10. Unsigned Multiplication Algorithm • The most flexible version of multiplication is the unsigned multiplication shift and add algorithm. • Observe the example below, the unsigned multiplication is a combination of shifting the number followed by addition for every shifted number. • Figure below, illustrates the process of shifting and adding number 9 and 15. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  11. Unsigned Multiplication Algorithm • The flowchart example to perform the algorithm. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  12. Unsigned Multiplication Algorithm Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  13. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  14. Signed Multiplication • Modified Flowchart diagram to perform signed multiplication. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  15. Signed Multiplication • To do the signed multiplication, the multiplicand and multiplier are exclusive ORed together. • The result, which indicates the sign of the product, is saved in the B register. • Both numbers are then adjusted so that they are positive before the MULT subroutine is called. • Upon returning from the MULT subroutine, the sign of the B register shows the sign of the product. • For a negative result, the product in the HL register pair must be negated to form a negative product. • For a positive result, the product does not change. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  16. Signed Multiplication: Modification of the previous program Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  17. Division by a constant • If data are shifted to the left, they multiply by 2 for each bit position of the shift. • If data are shifted to the right, they divide by 2 for each bit position of the shift. • Knowing this as a technique used to multiply by a constant, a technique can be developed so that a number can be divided by any power of 2. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  18. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  19. Signed division by a constant • Example shows how the signed contents of the accumulator are divide by 4 with the result rounded. • Notice that a shift left copies the sign bit into the carry flag before shifting right twice. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  20. Unsigned division algorithm • To divide a number by any integer value, a division algorithm is normally used to develop a subroutine. The division algorithm uses a combination of shifting left, comparing, subtracting, and setting bits to perform binary division. • Below is an illustration of division algorithm. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  21. Unsigned division algorithm Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  22. Unsigned division algorithm Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  23. Signed division algorithm • Signed binary division is treated in the same manner as signed multiplication. Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

  24. Thank youQ&A Written by: Ramizi Mohamed, Edited by:Dr Masri Ayob

More Related