Q1. Write a subroutine that will find the first even number from an array of your VU ID and calculate its factorial. (10 Marks)
Note: Skip 0’s in your VU ID as shown below,
VU ID: BC190206435
After skipping 0’s, array would be:
Array: 1, 9, 2, 6, 4, 3, 5
The first even number is 2 in the array so its factorial will be calculated and saved in AX register.
Solution:
Q2. Write a code in assembly language (using appropriate jumps) equivalent to this given code in C. (10 Marks)
#include <stdio.h>
int main()
{
int n1=1, n2=2;
int largest;
if( n1>n2)
largest=n1;
else
largest = n2;
return 0;
}
Solution:
Assembly code:
[org 0x100] jmp start n1 db 1 n2 db 2 largest db 0 start: mov ax, [n1] xor ah,ah mov bx, [n2] cmp ax,bx ja large mov [largest],bx large: mov [largest],ax mov ax, 0x4c00 int 21h