Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

Sahil Gami 17BCE0939

Part A

TRANSPOSE OF THE MATRIX

DATA SEGMENT

M1 DB 'ENTER THE ORDER OF THE MATRIX:','$'

M2 DB 0AH,0DH,0AH,'ENTER THE CONTENT OF THE MATRIX:','$'

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

MESSAGE MACRO MESS

LEA DX,MESS

MOV AH,09H

INT 21H

ENDM

BSPCE MACRO ASC

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

READO PROC NEAR

MOV AH,01H

INT 21H

MOV DH,AL

SUB DH,30H

BSPCE ' '

MOV AH,01H

INT 21H

MOV DL,AL
Sahil Gami 17BCE0939

SUB DL,30H

RET

READO ENDP

READ1 PROC NEAR

BSPCE 0AH

MOV CH,ROW

N2:MOV BH,COL

N1:CALL READ

MOV [SI],DL

INC SI

BSPCE ' '

DEC BH

JNZ N1

DEC CH

JZ N3

BSPCE 0AH

BSPCE 0DH

JMP N2

N3:RET

READ1 ENDP

READ PROC NEAR

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

CMP AL, 0AH

JC R2

SUB AL,07H

AND AL,0FH

R2:OR DL,AL

RET

READ ENDP

DISP PROC NEAR

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

D1: ADD DL,30H

MOV AH,06H

INT 21H

MOV DL,[SI]

AND DL,0FH

CMP DL,0AH

JC D2

ADD DL,07H

D2: ADD DL,30H

MOV AH,06H
Sahil Gami 17BCE0939

INT 21H

INC SI

BSPCE ' '

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

loc db 100 dup(0)

st0 db 13,10,"Enter a string",13,10,'$'

st1 db 13,10,"Entered string is $"

.code

start: mov ax,@data

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

new: mov dl,' '

disp

mov dl,08h

disp

cmp si,bx

je rd

dec si

jmp rd

print: mov al,'$'

mov [si],al

lea dx,st1

mov ah,09h

int 21h

lea si,loc

pri: mov dl,[si]

cmp dl,'$'

je ter
Sahil Gami 17BCE0939

disp

inc si

jmp pri

ter: mov ah,4ch

int 21h

end start

You might also like