- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Program for simulation of throwing a die in 8085 Microprocessor
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
- Related Articles
- Program for simulating a stopwatch in 8085 Microprocessor
- Program for decimal down counter in 8085 Microprocessor
- Program to check for palindrome in 8085 Microprocessor
- Program for subtraction of multi-byte BCD numbers in 8085 Microprocessor
- Program counter (PC) in 8085 Microprocessor
- Program to check for two out of five code in 8085 Microprocessor
- Program for adding 4 hex digits of a 16-bit number in 8085 Microprocessor
- Program for adding 2 numbers input from keyboard in 8085 Microprocessor
- Program to compute LCM in 8085 Microprocessor
- Addressing modes of 8085 in 8085 Microprocessor
- Program to simulate a real-time clock in 8085 Microprocessor
- Program to perform linear search in 8085 Microprocessor
- Registers of 8085 Microprocessor
- Interface 8255 with 8085 microprocessor for addition
- Number of instructions in 8085 Microprocessor
