Configure port to send logic, Computer Engineering

Assignment Help:

Configure port A for the lower 4 bits to be inputs and the upper 4 bits to be outputs. The program should chase a logic one from Pa4 -> Pa7, depending upon the condition of Pa0-Pa3 the speed of chase is increased.

Pa0  = 1  Slow Counter  
Pa1  = 1  Counter   
Pa2  = 1  Counter    
Pa3  = 1  Fast  Counter    
 
If all Pa0, Pa1, Pa2, Pa3 = 0 wait
 
The only major difference is the data direction i.e. this configures 4 input lines Pa0-Pa3 and 4 output lines Pa4-Pa7

Paddr
Bit7  Bit6  Bit5  Bit4  Bit3  Bit2  Bit1  Bit0
1  1  1  1  0  0  0  0
 
The full program is shown below

                  name first
padr          equ $0000
paddr        equ $0001
                 org $500
                 ldaa #$f0
                 staa paddr     set up half in and half out
loop0        ldaa #$10
                 staa padr     send data
                 jsr delay
                 ldaa #$20
                 staa padr     send data
                 jsr delay 
                ldaa #$40
                staa padr     send data
                jsr delay
                ldaa #$80
                staa padr     send data
                jsr delay
                jmp loop0
delay        ldab padr    ;get input from port a
                andb #$0f    ;mask of lower nibble only

                beq delay    ;repeat till selected
                ldab padr    ;get port a data again
                andb #$8    ; mask off bit 3 pa3
                bne loop3    ;if select go to loop3
                ldab padr    ;get port a data again
                andb #$4    ; mask off bit 2 pa2
                bne loop4    ;if select go to loop4
                ldab padr    ;get port a data again
                andb #$2    ; mask off bit 1 pa1
                bne loop5    ;if select go to loop5
                ldx #$ffff    ;assume pa0 is pressed load up x with ffff
                jmp loop1    ;carry on
loop2        ldx #$1    ;load up X with 1 fast
                jmp loop1    ;carry on
loop3        ldx #$f      ;load X with f
                jmp loop1
loop4       ldx #$ff    ;load x with ff
               jmp loop1
loop5      ldx #$fff    ;load x with fff slow
loop1      ldab #$1f    ;nested loop
loop6      decb
              bne loop6
              dex
             bne loop1    ;loop till zero
             rts               ;return back to main
             end


Related Discussions:- Configure port to send logic

Purpose of pointer phrase in string command, The Purpose of POINTER phrase ...

The Purpose of POINTER phrase is to verify the leftmost position within receiving field where the first transferred character will be kept

Differences between batch systems versus real-time systems, Question 1: ...

Question 1: a. Give NINE general properties of an MIS b. Name and explain the THREE main Problems and Issues of EIS Question 2: a. What are information systems for?

Differentiate the latch and flip-flop, Differentiate the latch and flip-flo...

Differentiate the latch and flip-flop? The major difference between latch and FF is which latches is level sensitive whereas FF is edge sensitive. They both need the use of clo

Flowchart, How to calculate the flowchart

How to calculate the flowchart

Define a protocol when an error recovery develop for a link, Suppose you ha...

Suppose you have to develop an error recovery protocol for a link that is unreliable and delay sensitive, which of the following protocol would you choose? (i) Stop & wait.

What is guard bits, What is guard bits? Guard bits are extra bits which...

What is guard bits? Guard bits are extra bits which are produced while the intermediate steps to yield maximum accuracy in the final results.

Create new user account - system administrator, A common task for a system ...

A common task for a system administrator is to create new user accounts. In this lab you will be creating output that looks like an /etc/passwd file. The Problem You are to

What is double data rate sdram, What is double data rate SDRAM?  Double...

What is double data rate SDRAM?  Double data rates SDRAM are those which can transfer data on both edges of the clock and their bandwidth is fundamentally doubled for long burs

What happens if acknowledge() is called within a transaction, As per the JM...

As per the JMS specification, when you are in a transaction, the acknowledge Mode is ignored. If acknowledge() is known as within a transaction, it is ignored.

How many ram chips are required for memory of 2048 bytes, How many 128 × 8 ...

How many 128 × 8 RAM chips are required to provide a memory capacity of 2048 bytes. Ans. Available here RAM chips = 128 x 8 Required the memory capacity    = 2048 x 8 No. of chip

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd