Program for simulation of throwing a die in 8085 Microprocessor

MicroprocessorMicrocontroller8085

Write an 8085 assembly language program to simulate the throw of a die using an interrupt.

We have a counter for this program, which counts the ranges from 1 to 6, and again repeats the sequence of count in a matter which is endless in an infinite loop. The die throwing getting the head and tail probability gets simulated by pressing the key ‘Vect Intr’ on the keyboard. The branching of 8085 branches to RST7.5 ISS. Here, the current value of the counter gets is displayed in the data field, which controls and returns to the main program for the continuation of the counter operation. Hence we press the ‘Vect Intr’ key at a random value between 1 to 6 which is displayed in the data field for the simulation of throwing of a die.

; FILE NAME DIETHROW.ASM

; Main program to reset RST7.5 Flip-Flop, unmask RST7.5, enable interrupts,

; and count from 1 to 6 endlessly in an infinite loop

ORG C000H

CURDT: EQU FFF9H

UPDDT: EQU 06D3H

DELAY: EQU 04BEH

MVI A, 00011011B

SIM ; Reset RST7.5 Flip-Flop, Unmask RST7.5

EI ; Enable interrupt system

; Program segment for an endless counter (1 to 6) loop.

; The 2 NOP instructions are needed because interrupt request

; lines are sensed by 8085 subsequent to JMP BEGIN instruction

; after a short time-interval of about 15 clocks. It may be

; better to have few NOP instructions to provide margin of safety.

BEGIN: MVI A, 01H

LOOP: NOP

NOP

INR A

CPI 06H

JNZ LOOP

JMP BEGIN

; RST7.5 ISS to display the counter value

RST75: STA CURDT

CALL UPDDT ; Display count value in data field

LXI D, FFFFH

CALL DELAY ; Generate a delay of 0.5 second

LDA CURDT

EI

RET

; When VECT INTR key is pressed, RST7.5 line is activated. So

; control is shifted to location 7.5 * 8 = 60 = 003CH. This location

; has JMP FFB1H instruction. (For ESA kit there is JMP 8FBFH). Hence

; it is necessary to write JMP RST75 instruction at location FFB1H.

; This is done by the following 2 instructions.

ORG FFB1H ; For ESA Kit it should be ‘ORG 8FBFH’

JMP RST75

raja
Published on 27-Mar-2019 18:17:03
Advertisements