CE262 Microprocessor System Engineering

CE262 Microprocessor System Engineering

Lab 5

  1. Watch videos entitled “Introduction” and “Procedures
  2. Using the microprocessor simulator, open the program 06proc.asm.
  3. Step through its execution to understand its current operation.
  4. Modify the traffic light program from Module 4 to utilize the code in 06proc.asm to establish a realistic time delay.
  5. Include all of the following in a Word document entitled “Lab5_StudentID”. Where your student id is substituted in the file name.
    • A screenshot of the modified assembly code
    • A few screenshots that show the traffic lights on Port 1 as the program is stepped through
  6. Upload file “Lab5_StudentID”.

DIRECTIONS:

Modify the traffic light program from Module 4 (below #1) to utilize the code in 06proc.asm (below #2) to establish a realistic time delay.

 

Module 4 traffic light program:

CLO          ; close unwanted windows

start:

MOV BL,10    ; START BL REGISTER AT 10

; TURN OFF ALL TRAFFIC LIGHTS

MOV AL,10    ; COPY 00000000 INTO THE AL REGISTER

OUT 01       ; SEND AL TO PORT ON

 

MOV BL,0A ; BL=TEN

LOOP:

; TURN RED LIGHTS ON

MOV AL,90            ; COPY 10010000 INTO THE AL REGISTER

OUT 01                  ; SEND AL TO PORT ONE

MOV AL,10            ; DELAY

 

; TURN ON AMBER LIGHTS

MOV AL,48             ; COPY 01001000 INTO THE AL REGISTER

OUT 01                   ; SEND AL TO PORT ONE

MOV AL,10              ; DELAY

 

; TURN ON GREEN LIGHTS

MOV AL,24               ; COPY 00100100 INTO AL REGISTER

OUT 01                    ; SEND AL TO PORT ONE

MOV AL,10              ; DELAY

 

DEC BL                    ; SUBTRACT ONE FROM BL

JNZ LOOP              ; JUMP BACK TO LOOP IF BL WAS NOT ZERO

END                          ; PROGRAM ENDS

 

06PROC.ASM:

; When the procedure terminates, the CPU registers are

; restored to the same values that were present before

; the procedure was called. Push, Pop, Pushf and Popf

; are used to achieve this. In this example one procedure

; is re-used three times. This re-use is one of the main

; advantages of using procedures.

;—— The Main Program —————————————-

Start:

MOV    AL,8    ; A short delay.

CALL    30    ; Call the procedure at address [30]

MOV    AL,10    ; A middle sized delay.

CALL    30    ; Call the procedure at address [30]

MOV    AL,20    ; A Longer delay.

CALL    30    ; Call the procedure at address [30]

JMP    Start    ; Jump back to the start.

; —– Time Delay Procedure Stored At Address [30] ————-

ORG    30    ; Generate machine code from address [30]

PUSH    AL    ; Save AL on the stack.

PUSHF        ; Save the CPU flags on the stack.

Rep:

DEC    AL    ; Subtract one from AL.

JNZ    REP    ; Jump back to Rep if AL was not Zero.

POPF        ; Restore the CPU flags from the stack.

POP    AL    ; Restore AL from the stack.

RET        ; Return from the procedure.

; —————————————————————

END

; —————————————————————

TASK

15)    Re-do the traffic lights program and use this procedure

to set up realistic time delays. 02tlight.asm

16)    Re-do the text input and display program with procedures.

Use one procedure to input the text and one to display it.

; —————————————————————

Place your order now with Reliablepapers.com
and experience the difference of letting the professionals do the work for you!
Our Process is Simple
Our Simple process

Order Now

Place Order