Write a program to build bcd countdown timer, Programming Languages

Assignment Help:

Many applications require entering a number from a button and then the device counts that number down.  If it is a 2 digit number it can be stored in a single register.  If it is larger a register pair can be used.  When a button is pressed the number associated with that number is put in the LSN of the register.  The MSN is usually 0.  In other words, if 5 is pressed on a microwave oven or a calculator, the number 05 is placed in a register of the microcomputer. 

If the sequence 5, 4, 3 and 2 were pressed each number would be stored in a separate register. 5 would be consider the most significant digit.  When the start button is pressed, the microcomputer consoldates the 5 and the 4 into a single register, and the 3 and the 2 into a single register.  The 5 in its register is shifted to the left by 4 bits placing it in the MSN of the register.  The 5 and 4 can now be placed in a single register.  Since one register has 50 and the other is 04, they can be scored together to produce 54 in a single register.  This procedure is repeated for the 3 and the 2. 

If 2 ASCII numbers were received via the com port on a pc, it is not as simple as above.  5 is 35h and 4 is 34h. The 3 must be stripped from the MSN, before the 5 is rotated to the MSN position and for 4 the 3 has to be stripped from the MSN position.  To do this of is ended with the 2 ASCII numbers.  This makes the MSN 0 and keeps the LSN as it was.

Another problem that occurs is that the DAA instruction does not work with subtraction.   This means that if 1 is subtracted from 10, the result will be 0fh.  A way around this is to test the result every time one is subtracted from it.  Some microprocessors have an instruction that will test one bit or a group of bits to see if they are 1's or 0's.  The 8085 does not have an instruction that will do this.  The MSN has to be stripped from the number and the LSN tested to see if it is f or not.  The short program below will do this:

Label   nmen   operand           comments

test      mov     h,a       ;save the result in h register

            ani       $0f       ;strip the MSN from the number

            cpi       $0f       ;test the LSN

             jz         fix        ;if the LSN is $0f, then go to fix

fix        mov     a,h       ;put the number in the a reg

            ani       $09      ;make the LSN 09, strip the MSN

            mov     l,a        ;save the LSN

            mov     a,h       ;move the number with f in it to the a reg

            ani       $f0       ;strip the LSN

            ora       l           ;combine the MSN and the LSN

            mov     h,a       ;save the number

246_Develop a BCD Countdown Timer.png

Write a program from the flowchart in the above.  Refer to previous experiments to write the program.  Test each stage after you write it, to make sure that it works properly.

 


Related Discussions:- Write a program to build bcd countdown timer

Develop a system for record student information, Your task for this project...

Your task for this project is to develop a system that would provide the following features: 1. Register new student 2. Drop student from university 3. Add a course and gr

Define a procedure which makes an avl tree with one node, (a) Define a proc...

(a) Define a procedure called make-avl-tree which makes an AVL tree with one node. Also create another constructor build-avl-tree that creates an AVL tree from a root, left subtree

Write a program to build bcd countdown timer, Many applications require ent...

Many applications require entering a number from a button and then the device counts that number down.  If it is a 2 digit number it can be stored in a single register.  If it is l

What is cisc & risc?, Question 1 What is CISC & RISC? Explain their addres...

Question 1 What is CISC & RISC? Explain their addressing modes Question 2 Discuss the following- Design Specification of Assembler Design of Single Pass Assembler

Program to find the largest value in an array, 1. Write out a detailed plan...

1. Write out a detailed plan for a program to find the largest value in an array that is smaller than a ceiling C. For example, suppose the array has the values {4, 14, 11, 100, 6}

Java networking, Expertsmind brings you unique solution in java assignment...

Expertsmind brings you unique solution in java assignments Networking The term system selection represents composing applications that do across several gadgets (computers

Hack winrar password, how to make a program using vb?seriously i don''t kno...

how to make a program using vb?seriously i don''t know

Program 3, An apartment complex has several apartments to rent. The apartme...

An apartment complex has several apartments to rent. The apartments are all similar, and all rent for $750 per month. Currently, all units are occupied. The management, being in bu

Small code have missing part, #question. /* * * * * * * * * * * * * * * * *...

#question. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Description: *

Selfcare project - strut frame work, Selfcare Project:   Technology U...

Selfcare Project:   Technology Used Strut Frame work, WAS 5.1, WPS 6.0, DB2, AJAX, Eclipse, Rational Application Developer 6 and  DB2 Selfcare is a big umbrella under whic

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