13-06-2013, 04:38 PM
Microprocessors and Microcontrollers ASSIGNMENT
Microprocessors.pdf (Size: 230.84 KB / Downloads: 87)
Prologue:
Dear students! It is very important and essential to utilize this course to the maximum extent to train you as a true Computer Engineer. This is one the courses that really make a difference with other Computer Streams like Computer Science.
Both programming (ASM/C) and hardware design skills need to be developed during this program. Even though the time allotted for the course is little, we need to put extra effort in covering all the content. On this context, this is the first assignment which requires you to solve the following using masm assembler. Those they are not familiar with the undergraduate microprocessor (8086) need to put extra effort. Please consult me as and when you find difficulty. Please find extra time to work in the lab (Especially with various programming and interfacing modules)
(1) Analyze the following program and come with the result in terms of registers and flags affected after the execution of the div instructions. Assume that the Dividend is 1525H and the Divisor 0FFH available in continuous locations starting at 7000:0000h.
code segment
assumecs:code
start: mov ax,7000h
movds,ax
mov bx,0000h
mov ax,[bx]
mov dl,[bx+2]
div dl
mov [bx+3],ax
int 3h
code ends
end start
(2) Write a program to mask bits D3D2D1D0 and to set bits D5D4 and to invert bits D7D6 of the AX register.
(3) Write a program to add two ASCII numbers and store the result as ASCII numbers. (Use AAA instruction).
(4) Write a program to multiply two ASCII numbers and store the result in the ASCII form. (use AAM instruction).
(5) Write a program to check whether the lower and upper nibbles of a byte are different. The data is available in the first byte of the ES. If they are the same store FF in the next location else store 00H
(6) Write a program to find the number of occurrences of the largest item in an array on N bytes of DS.
(7) Write a program to add two NxN Matrices available in the DS in contiguous memory locations. ( Assume N = 10)
(8) Write a program to reverse a string available in DS to ES
(9) Write a program to find out a given byte/character is present in a string or not. (Use REPNE SCASB instruction).
(10) Write a program to convert a lower case string available in DS to an Upper case string using the string instructions.