In this experiment we will implement the Addition and Subtra

In this experiment we will implement the Addition and Subtraction Functions Using PIC 161 84 A microcontroller. Part 1 is the addition anti part 2 is the subtraction Addition and subtraction functions The addition function is summarized as follow: We use the method of masking to separate the two numbers, since the first number is in the LSB of PORTB and the second number is in the MSB, we separate the first number using the instruction ANDL W 0X0F, and the second number using the instruction ANDL W 0XF0. After that before we add the two numbers, the first number is ready for addition but the second number needs to be swapped, so we use the instruction SWAPF F, d to swap it (swapping means F(0:3)- F(4:7), F(4:7) = F(0:3)). After that we add the two numbers using the instruction ADDWF F, d and then we display the result on PORTA. The subtraction function is the same as the addition function except you will subtract the two numbers instead of adding them. To avoid negative answer the first number must be greater than the second (I need help with part 2 writing the assembly program) Part 2: Subtraction Function Write an assembly program to achieve the subtraction of two numbers entered to port B and display the result on port A. Simulate the program using the circuit shown in figure via Proteus software. Verify it operates properly when simulated

Solution

.model small

.data
p db 0AH                                                            
q db 04H
.code
      mov      ax, @data      ; Initialize data section
      mov      ds, ax
      mov      al, p         ; Load number1 in al
      mov      bl, q          ; Load number2 in bl
      sub      al, bl         ; subtract numbers and result in al
      mov      ch, 02h        ; Count of digits to be displayed
      mov      cl, 04h        ; Count to roll by 4 bits
      mov      bh, al         ; Result in reg bh
ltwo:     rol      bh, cl      ; roll bl so that msb comes to lsb
      mov      dl, bh         ; load dl with data to be displayed
      and      dl, 0fH        ; get only lsb
      cmp     dl, 09          ; check if digit is 0-9 or letter A-F
      jbe      lfour
      add      dl, 07         ; if letter add 37H else only add 30H
lfour:     add      dl, 30H
      mov      ah, 02         ; Function 2 under INT 21H (Display character)
      int      21H
      dec      ch             ; Decrement Count
      jnz      ltwo
      mov      ah, 4cH        ; Terminate Program
      int      21H
      end

 In this experiment we will implement the Addition and Subtraction Functions Using PIC 161 84 A microcontroller. Part 1 is the addition anti part 2 is the subtr

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site