Professional Documents
Culture Documents
Class Notes
Class Notes
Part A
DATA SEGMENT
M3 DB 0AH,0DH,0AH,'TRANSPOSE MATRIX:',0AH,0DH,'$'
MAT1 DB 10 DUP(0)
MAT2 DB 10 DUP(0)
ROW DB 00H
COL DB 00H
DATA ENDS
LEA DX,MESS
MOV AH,09H
INT 21H
ENDM
MOV DL,ASC
MOV AH,06H
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MESSAGE M1
CALL READO
MOV BX,DX
MOV ROW,DH
MOV COL,DL
MESSAGE M2
Sahil Gami 17BCE0939
LEA SI,MAT1
CALL READ1
LEA DI,MAT1
LEA SI,MAT2
MOV DH,00H
MOV DL,COL
MOV AH,COL
L3:MOV AL,ROW
MOV BX,DI
L1:MOV CL,[BX]
MOV [SI],CL
ADD BX,DX
INC SI
DEC AL
JNZ L1
INC DI
DEC AH
JNZ L3
LEA SI,MAT2
CALL DISP
MOV AH,4CH
INT 21H
MOV AH,01H
INT 21H
MOV DH,AL
SUB DH,30H
MOV AH,01H
INT 21H
MOV DL,AL
Sahil Gami 17BCE0939
SUB DL,30H
RET
READO ENDP
BSPCE 0AH
MOV CH,ROW
N2:MOV BH,COL
N1:CALL READ
MOV [SI],DL
INC SI
DEC BH
JNZ N1
DEC CH
JZ N3
BSPCE 0AH
BSPCE 0DH
JMP N2
N3:RET
READ1 ENDP
MOV AH,01H
INT 21H
MOV CL,04H
MOV DL,AL
SUB DL,30H
CMP DL,0AH
JC R1
SUB DL,07H
AND DL,0FH
R1:SHL DL,CL
Sahil Gami 17BCE0939
MOV AH,01H
INT 21H
SUB AL,30H
JC R2
SUB AL,07H
AND AL,0FH
R2:OR DL,AL
RET
READ ENDP
MESSAGE M3
BSPCE 0AH
MOV DH,COL
D4:MOV BH,ROW
LOP:MOV CL,04H
MOV DL,[SI]
SHR DL,CL
CMP DL,0AH
JC D1
ADD DL,07H
MOV AH,06H
INT 21H
MOV DL,[SI]
AND DL,0FH
CMP DL,0AH
JC D2
ADD DL,07H
MOV AH,06H
Sahil Gami 17BCE0939
INT 21H
INC SI
DEC BH
JNZ LOP
DEC DH
JZ D3
BSPCE 0AH
BSPCE 0DH
JMP D4
D3: RET
DISP ENDP
CODE ENDS
END START
Sahil Gami 17BCE0939
Part B
Code
2a1.Macro to read
read macro
mov ah,01h
int 21h
endm
2a2.Display macro
disp macro
mov ah,02h
int 21h
endm
2a.Main program
Title String read and display using macros stored in different files
include 2a1.asm
include 2a2.asm
.model small
.data
.code
mov ds,ax
Sahil Gami 17BCE0939
mov cl,00h
lea bx,loc
lea dx,st0
mov ah,09h
int 21h
lea si,loc
rd: read
cmp al,08h
je new
cmp al,0dh
je print
mov [si],al
inc si
jmp rd
disp
mov dl,08h
disp
cmp si,bx
je rd
dec si
jmp rd
mov [si],al
lea dx,st1
mov ah,09h
int 21h
lea si,loc
cmp dl,'$'
je ter
Sahil Gami 17BCE0939
disp
inc si
jmp pri
int 21h
end start