IGNOU BCSL-022 Assembly Language Programming Lab Solved Assignments 2013-2014
Last Dates for Submission : 31st October, 2013/ 30th April, 2014
This assignment has two questions carrying a 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.
1) Design a two bit counter circuit that counts at an increment of two with the starting count of 00. The states of the counter, thus, may be 00, 10, 00, 10… Use J-K flip flop to design the circuit. You must design them using state transition diagram and Karnaugh’s map. (10 Marks)
2) Write and run the following programs using 8086 assembly language. (30 Marks)
(a) Write and run an Assembly language program that reverses a string. You may assume that the string is available in the memory and is 6 byte long. The reversed string should be stored in separate memory locations and should be displayed.
#program that reverses a string assume cs:code,ds:data data segment m1 db 0ah,0dh,"enter the string : $" m2 db 0ah,0dh,"reverse of the string is: $" s1 db 10h dup(?) data ends code segment start:mov ax,data mov ds,ax lea dx,m1 mov ah,09h int 21h mov ch,01h mov si,offset s1 back: mov ah,01h int 21h cmp al,0dh jz exit mov [si],al inc si inc ch jmp back exit: lea dx,m2 mov ah,09h int 21h cmp1:mov al,[si] mov dl,al mov ah,02h int 21h dec si dec ch jnz cmp1 mov ah,4ch int 21h code ends end start
(b) Write and run (using appropriate calling program) a near procedure in assembly language that converts an ASCII digit passed to it on AL register to equivalent binary value. The value is returned back on the AL register itself.
(c) Write and run an assembly language program that converts a packed two digit BCD number in AL register to equivalent binary number. The binary number is stored in the AH register.