|Course Code :||BCSL-22|
|Course Title :||Assembly Language Programming Lab|
|Assignment Number :||BCA(2)/BCSL022/Assignment/2020-21|
|Maximum Marks :||50|
|Last Date of Submission :||15th October, 2020 (for July 2020 session)
15th April, 2021 (for January 2021 session)
|Solution Type :||Softcopy (PDF File)|
This assignment has two questions of total of 40 marks. Rest 10 marks are for viva voce. Please go through the guidelines regarding assignments given in the programme guide for the format of presentation.
Q1. Design a two bit down counter circuit that counts from 3 to 0. It should have states 11, 10, 01, and 00. The initial state of the counter may be assumed to be 11. The counter will be in following successive states: 11, 10, 01, 00, 11, 10, 01, 00, 11,… Use J-K flip flop to design the circuit. You must design the circuit using state transition diagram and Karnaugh’s maps.
Q2. Write and run following programs using 8086 assembly language.
(a) Write and run a 8086 Assembly language program that converts a three digit ASCII number stored in three consecutive byte locations in the memory, into a binary number. The output should be stored in DX register. For example, if three consecutive byte locations contain ‘345’ (please note they are three ASCII digits), then the DX should get binary equivalent of decimal number 543, which is (0000 0010 0001 1111)2. This binary value will be stored in DX register.
(b) Write and run (using appropriate calling program) a near procedure in 8086 assembly language, which is passed a single parameter by the calling program. The procedure checks if the input parameter has a value zero or not. If the value of input parameter is zero then procedure/program is terminated, otherwise a value of 1 is returned to the calling program, which then continue to execute the remaining program. Make and state suitable assumptions, if any.
(c) Write and run a 8086 assembly language program that finds the sum of first N natural numbers. The value of N is input to the assembly program. The sum is stored in DX register. Assume the value of N between 1 and 10 only.