Name:-Prateek Sinha Reg no.:-18BCB0081 Lab Assignment-1: Answers
Name:-Prateek Sinha Reg no.:-18BCB0081 Lab Assignment-1: Answers
Reg no.:-18BCB0081
Lab Assignment-1
Answers:
1. Variables, Arrays and Constants in Arithmetic
Operations (1 and 3)
ALP program to perform the 8 bit add, sub and
multiplication:
Addition:
Answer:000B
Subtraction:
Answer:07FF
Multiplication:
Answer:001E
Write an ALP to perform the following expression, a2+2ab+b2; If the result is even, DL =
EEh, else DH = 00h
Code:
assume cs:code,ds:data
data segment
data1 db 01h
data2 db 01h
data ends
code segment
start:
mov ax,data
mov ds,ax
mov al,data1
mov bl,data2
add al,bl
mov bh,al
mulbh
mov bl,2
div bl
cmp ah,0
je evennumber
mov dh,00h
mov ah,4ch
int 21h
evennumber:
mov dl,238
mov ah,4ch
int 21h
code ends
end start
Output:
DATA SEGMENT
A DB 5
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AH,00
MOV AL,A
L1: DEC A
MUL A
MOV CL,A
CMP CL,01
JNZ L1
MOV AH,4CH
INT 21H
CODE ENDS
END START
OUTPUT:
-G CS: 001B
AX=0078 BX=0000 CX=0001 DX=0000 SP=0000 BP=0000 SI=0000
DI=0000
DS=0BA8 ES=0B98 SS=0BA8 CS=0BA9 IP=001B NV UP EI PL ZR NA
PE NC
0BA9:001B B44C MOV AH,4C
DATA SEGMENT
STR1 DB 01H,02H,05H,03H,04H
STR2 DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA SI, STR1
LEA DI, STR2+4
MOV CX, 05H
BACK: CLD
MOV AL, [SI]
MOV [DI], AL
INC SI
DEC DI
DEC CX
JNZ BACK
INT 3
CODE ENDS
END STAR
Output:
-G
AX=0B04 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0005 DI=0004
DS=0B97 ES=0B87 SS=0B97 CS=0B98 IP=001A NV UP EI PL ZR NA PE NC
0B98:001A CC INT 3
-D 0B97:0000
0B97:0000 01 02 05 03 04 04 03 05-02 01 00 00 00 00 00 00 ................
0B97:0010 B8 97 0B 8E D8 8D 36 00-00 8D 3E 09 00 B9 05 00 ......6...>.....
0B97:0020 FC 8A 04 88 05 46 4F 49-75 F6 CC 2A E4 50 B8 FD .....FOIu..*.P..
0B97:0030 05 50 FF 36 24 21 E8 77-63 83 C4 06 FF 36 24 21 .P.6$!.wc....6$!
0B97:0040 B8 0A 00 50 E8 47 5E 83-C4 04 5E 8B E5 5D C3 90 ...P.G^...^..]..
0B97:0050 55 8B EC 81 EC 84 00 C4-5E 04 26 80 7F 0A 00 74 U.......^.&....t
0B97:0060 3E 8B 46 08 8B 56 0A 89-46 FC 89 56 FE C4 5E FC >.F..V..F..V..^.
0B97:0070 26 8A 47 0C 2A E4 40 50-8B C3 05 0C 00 52 50 E8 &.G.*.@P.....RP.
3. String Operations
Write a program to search a character in string
Code:
data segment
string1 db 'akarsh'
key db 'd'
data ends
code segment
assume cs:code,ds:data
here:
LEA si,string1
mov ax,data
mov ds,ax
mov cx,06h
mov ah,key
l1: mov al,[si]
cmpah,al
jz found
incsi
loop l1
mov dl,'n'
mov ah,02h
int 21h
mov ah,4ch
int 21h
found:
mov dl,'y'
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end here
4. Inbuilt Libraries
Output: