THIS QUESTION IS FOR ASSEMBLY LANGUAGE ONLY 1. Write a complete assembly languag
ID: 3830577 • Letter: T
Question
THIS QUESTION IS FOR ASSEMBLY LANGUAGE ONLY
1. Write a complete assembly language program to read two vectors (1-dim arrays) A and B and display the resulting vector C, which is the sum of A and B. Procedures must be used to organize the code.
2. Write a complete assembly language program to read a vector (1-dim array) A = (A1,…,AN), and display Sum(k=1 to N) (Ak)2. Procedures must be used to organize the code.
3. Write a complete assembly language program to read two matrices (2-dim arrays) A and B and display the resulting matrix C, which is the sum of A and B. Procedures must be used to organize the code.
4. Write procedure MinMax that receives a variable number of integers and returns the minimum and the maximum integer in the list. The min and max values are stored in memory locations pointed to by addresses passed to MinMax. The Main procedure requests the input registers from the user. Positive and negative integer values are valid. The user entering zero terminates the input integer sequence. The min and max values returned are displayed by the Main procedure.
Explanation / Answer
1. program to add corresponding elements of two arrays
DB – Define Byte (Size – 1 Byte)
2. ADDING DATA IN ARRAY
; IN SIMPLE TERMS SUM OF ARRAY
; STORING ARRAY IN ROM
ORG 300H ;
DB 1,4,5,6,7 ;
; ARRAY OF 5
ORG 0000H ;
; INITIALIZE DATA POINTER
MOV DPTR, #0300H;
; FIRST COUNTER
MOV R7, #05H ;
; RESETING A
MOV A, #00H ;
; COUNTER REGISTER FOR ROM ACCESS
MOV R0, #00H ;
; SUM VARIABLE
MOV R6,#00H ;
LOOP:
MOV A, R0 ;
MOVC A,@A+DPTR ;
ADD A, R6 ;
MOV R6,A ;
INC R0 ;
DJNZ R7, LOOP ;
END
3.
MODEL SMALL
.386
.DATA
M1 DB 00H,01H,10H,12H,02H,03H,0F0H,0C0H,04H
M2 DB 00H,05H,01H,02H,50H,90H,03H,04H,0AAH
M3 DB 9 DUP(0)
M4 DB ' $'
MES1 DB "THE SUM OF TWO MATRIX IS $"
.CODE
.STARTUP
MOV DX,OFFSET MES1
MOV AH,09H
INT 21H
MOV CL,0
P1:
XOR BX,BX
MOV BL,CL
MOV AL,M1[BX]
MOV DL,M2[BX]
ADD AL,DL
MOV M3[BX],AL
INC CL
CMP CL,9
JNZ P1
MOV DX,0AH
MOV AH,02H
INT 21H
MOV CL,0
MOV CH,0
PP:XOR BX,BX
MOV BL,CL
MOV AL,M3[BX]
MOV DL,AL
ROL DL,4
AND DL,0FH
ADD DL,30H
CMP DL,'9'
JBE F1
ADD DL,7H
F1:
MOV AH,02H
INT 21H
MOV AL,M3[BX]
AND AL,0FH
MOV DL,AL
ADD DL,30H
CMP DL,'9'
JBE F2
ADD DL,7
F2:
MOV AH,02H
INT 21H
MOV DX,OFFSET M4
MOV AH,09H
INT 21H
INC CH
CMP CH,3
JNZ L1
MOV DX,0AH
MOV AH,02H
INT 21H
MOV CH,0
L1:
INC CL
CMP CL,9
JNZ PP
MOV AH,4CH
INT 21H
END
OUTPUT:
THE SUM OF TWO MATRIX IS
00 06 11
14 52 93
F3 C4 AE
4.
DATA SEGMENT
ARR DB 5,3,7,1,9,2,6,8,4
LEN DW $-ARR
MIN DB ?
MAX DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,ARR
MOV AL,ARR[SI]
MOV MIN,AL
MOV MAX,AL
MOV CX,LEN
REPEAT:
MOV AL,ARR[SI]
CMP MIN,AL
JL CHECKMAX
MOV MIN,AL
CHECKMAX:
CMP MAX,AL
JG DONE
MOV MAX,AL
DONE:
INC SI
LOOP REPEAT
MOV AH,4CH
INT 21H
CODE ENDS
END START
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.