BCSL-022 Assembly Language| Solved question papers


These questions are collected from previous years term end exam papers conducted by IGNOU. The questions are arranged according to topic covered in BCSL-022 subjects. Try to solve these questions yourself then read the solutions presented here. Programs are tested on EMU8086 Assembler.

1. Write and run a program using 8086 assembly language that interchanges the values. Stored in two different memory locations. [June 2015, Set-3] Solution

2. Write and run a program using 8086 assembly language that adds two single digit ASCII digits stored in two consecutive memory locations. The result must be moved to DL register. [June 2015, Set-2] Solution

3.Write and run a program using 8086 assembly language that adds two binary numbers of 8 bits stored in two consecutive memory locations. Store the result in another memory location. You may assume that no overflow occurs. [Dec 2014, Set-3] Solution

4. Write and run a program using 8086 assembly language to find the smaller of two values stored in two different memory locations. [Dec 2012, Set-3] Solution

5. Write and run a program using 8086 assembly language that transfers two byte values stored in memory to AL and BL registers respectively. It then compares AL and BL register values and stores the smaller of the two in DL register. [Dec 2015, Set-3] Solution

6. Write and run a program using 8086 assembly language that checks if the values stored in AL register and BL register are same. If both the values are same, the program output is “SAME”, otherwise it outputs nothing. [June 2014, Set-1] Solution

7. Write and run a program using 8086 assembly language that finds if the value stored in AL register is more than a value stored in a memory location; if it is more then AL register is cleared, otherwise AL register remains unchanged. [June 2013, Set-3] Solution

8. Write and run a program using 8086 assembly language that clears the upper 4 bits of AL register using BL register and any logic operation. You must decide the content of BL register yourself. [Dec 2015, Set-2] Solution

9. Write and run a program using 8086 assembly language that clears the upper 4 bits of AL register. For example, if AL register contains 0110 0101 then after the program is run AL register will contain 0000 0101. [June 2014, Set-2] Solution

10. Write and run a program using 8086 assembly language that multiplies two 8-bit numbers stored in two consecutive memory locations. The result of multiplication should be moved to DX register. [June 2015, Set-1] Solution

11. Write and run a program using 8086 assembly language to multiply three numbers. The numbers may be assumed to be in three consecutive memory locations. The result should be stored in a register. All the numbers should be less than 100. [Dec 2012, Set-3] Solution

12. Write and run a program using 8086 assembly language that stores a value 10000101 in AL register. It then divides the number by 2 using shift operation. [Dec 2015, Set-4] Solution

13. Write and run a program using 8086 assembly language that reads an 8-bit value stored in a memory location into AL register, then left shifts the content of AL register and finally stores the result back in the memory location from which it was read. [Dec 2015, Set-1] Solution

14. Write and run a program using 8086 assembly language that multiplies a number 0001 1001 stored in AL register by a number 0000 0100 using shift operation. [June 2014, Set-4] Solution

15. Write and run a program using 8086 assembly language that calculates the tax due for a person. You may assume that the annual salary of the person is stored in a memory location. You may also assume a flat 30% tax rate. [Dec 2012, Set-4] Solution

16. Write and run a program using 8086 assembly language that separates the upper and lower 4 bits of the data stored in BL register. The result is stored in AH and AL register. For example, if BL register contains :
0110 1001 then after the program is run AH register will contain 0000 0110 and AL register will contain 0000 1001
[June 2014, Set-3] Solution

17. Write and run a program using 8086 assembly language that creates an eight-bit number from two four-bit numbers. The following example explains this :
Consider BL register contains 0000 0110 and DL register contains 0000 1001 then you need to create an eight-bit number from BL and DL in AL register. The AL should contain 0110 1001 [Dec 2014, Set-4] Solution

18. Write and run a program using 8086 assembly language that interchanges the upper and lower four bits of AL register. You may assume that AL register contains 1001 0110. After execution of your program AL should contain
0110 1001. [Dec 2014, Set-1] Solution

19. Write and run a program using 8086 assembly language that converts an ASCII digit stored in memory location to equivalent binary in AL register. For example, if memory has the ASCII digit ‘5’ it should be in AL register as 00000101. [Dec 2012, Set-1]

20. Write and run a program using 8086 assembly language that converts an ASCII digit stored in a memory location into an equivalent binary number. The binary number should be stored in CH register. For example, if memory location contains ASCII equivalent of digit 5, then CH register will get the value 0000 0101. [Dec 2014, Set-2]

21. Write and run a program using 8086 assembly language that finds the total of marks of 5 students stored in five consecutive memory locations. [Dec 2012, Set-2] Solution

22. Write and run a program using 8086 assembly language that searches for a value in an array of 5 elements. The array should be a byte array stored in the memory locations. In case the value is found in the array then location of the  element is put in the BL register, else 0 is put in the BL register. For example, if array in the memory is  05 07 1A 09 71 (all numbers are in hexadecimal)  and you are looking for (05)h  then output of the program will be 1 which will be stored in the BL register. [Dec 2014, Set-2] Solution

23. Write and run a program using 8086 assembly language that counts the number of non-zero numbers stored in a byte array of size five. The array is stored in the memory. The count is left in AL register. For example, if the memory contains the array :
51 00 31 00 25
then the program should output 3 in AL register. [June 2015, Set-2] Solution