Vous êtes sur la page 1sur 3

1.

Write an ALP to add five 16 bit unsigned binary numbers and save
them in memory locations.
Solution:
D SEGMENT
VAL DW 0FFFFH,0FFFFH,0FFFFH,0FFFFH,0FFFEH
LEN DW 0005H
RES DW ?,?
AVG DW ?
D ENDS
ASSUME DS:D,CS:C
C SEGMENT
STA:MOV AX,D
MOV DS,AX
LEA SI,VAL
MOV DX,00H
MOV AX,00H
MOV CX,LEN
L1:MOV BX,[SI]
ADD AX,BX
JNC L2
INC DX
L2:ADD SI,02H
LOOP L1
LEA SI,RES
MOV [SI],AX
ADD SI,02H
MOV [SI],DX
MOV BX,LEN
DIV BX
MOV AVG,AX
INT 03H
C ENDS
END STA
2. Write an ALP to count number of 1 s in given 16bit unsigned
binary number.
Solution:-
D SEGMENT
NUM DW 10111111B
D ENDS
ASSUME CS:C,DS:D
C SEGMENT
STA:MOV AX,D
MOV DS,AX
MOV AX,00H
MOV BX,NUM
MOV CL,08H
L1:SHR BX,01H
JNC NEXT
INC AX
NEXT:LOOP L1
MOV BX,NUM
INT 03H
C ENDS
END STA
3. Write a procedure to convert two digit packed BCD numbers to ascii
characters and store them in memory location.
Solution:-
D SEGMENT
BCD DB 34H
ASC DW ?,?
D ENDS
ASSUME CS:C,DS:D
C SEGMENT
STA:MOV AX,D
MOV DS,AX
MOV AL,BCD
MOV AH,AL
AND AL,0FH
MOV CL,04H
L1:SHR AH,01H
LOOP L1
ADD AL,30H
ADD AH,30H
MOV BX,AX
MOV DL,BH
MOV AH,02H
INT 21H
MOV DL,BL
MOV AH,02H
INT 21H
MOV ASC,BX
MOV AH,4CH
INT 21H
C ENDS
END STA
4. Write an ALP to separate odd end even numbers in an array.
Solution:-
D SEGMENT
ARRAY DB 32H,21H,01H,22H,10H,0BBH
LEN DB 6H
ODD DB 5 DUP(0)
EVE DB 5 DUP(0)
D ENDS
ASSUME CS:C,DS:D
C SEGMENT
STA:MOV AX,D
MOV DS,AX
LEA SI,ARRAY
LEA DI,ODD
LEA BX,EVE
MOV CL,LEN
L1:MOV AL,[SI]
SHR AL,01H
JC OD
MOV AL,[SI]
MOV [BX],AL
INC BX
JMP NEXT
OD:MOV AL,[SI]
MOV [DI],AL
INC DI
NEXT:INC SI
LOOP L1
INT 03H
C ENDS
END STA

5. Write an ALP to read a string from keyboard and convert it to


uppercase and display it on monitor.
Solution:-
READ MACRO LOC
MOV AH,01H
INT 21H
MOV LOC,AL
ENDM
D SEGMENT
STR DB 20 DUP('$')
NEWLINE DB 0AH,0DH,'$'
D ENDS
ASSUME DS:D,CS:C
C SEGMENT
STA:MOV AX,D
MOV DS,AX
MOV CL,00H
LEA SI,STR
AGNRD:READ [SI]
INC SI
INC CL
CMP AL,0DH
JNE AGNRD
DEC CL
LEA SI,STR
UPPER:MOV AL,[SI]
CMP AL,61H
JB CON
CMP AL,7AH
JA CON
SUB AL,20H
MOV [SI],AL
CON:INC SI
LOOP UPPER
LEA DX,NEWLINE
MOV AH,09H
INT 21H
LEA DX,STR
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
C ENDS
END STA

Vous aimerez peut-être aussi