MASM Programs Word
MASM Programs Word
Program:
.MODEL SMALL
.DATA
.CODE
BACK
:
OVER:
N1 DQ 122334455667788H ; FIRST NUMBER
N2 DQ 122334455667788H ; SECOND NUMBER
SUM DT ?
MOV AX, @DATA ; INITIALIZE THE DATA REGISTER
MOV DS, AX
LEA SI, N1 ; POINTER TO FIRST NUMBER
LEA DI, N2 ; POINTER TO SECOND NUMBER
LEA BX, SUM
MOV CL, 04H ; COUNTER FOUR WORD
CLC
MOV AX, [SI] ; MOVE FIRST WORD
ADC AX, [DI]
MOV [BX], AX
INC SI
INC SI
INC DI
INC DI
INC BX
INC BX
DEC CL
JNZ BACK ; REPEAT UNTIL COUNTER BECOMES ZERO
JNC OVER
MOV AX, 0001H
MOV [BX], AX
MOV AH, 4CH
INT 21H
END
OUTPUT:
PROGRAM 2
Program:
.MODEL SMALL
.DATA
.CODE
BACK
:
N1 DQ 122334455667788H ; FIRST NUMBER
N2 DQ 111111111111111H ; SECOND NUMBER
RESULT DT ?
MOV AX, @DATA ; INITIALIZE THE DATA REGISTER
MOV DS, AX
LEA SI, N1 ; POINTER TO FIRST NUMBER
LEA DI, N2 ; POINTER TO SECOND NUMBER
LEA BX, RESULT
MOV CX, 04H ; COUNTER FOUR WORD
CLC
MOV AX, [SI] ; MOVE FIRST WORD
SBB AX, [DI]
MOV [BX], AX
INC SI
INC SI ; MOVE SI, DI CONTENTS
INC DI
INC DI
INC BX ; INCREMENT BX TO STORE RESULTS
INC BX
LOOP BACK
MOV AH, 4CH
INT 21H
END
OUTPUT:
PROGRAM 3
Program:
MODEL SMALL
.STACK
.DATA
.CODE
START:
MULTIPLICAND DW 00FFH; FIRST WORD HERE
MULTIPLIER DW 00FFH; SECOND WORD HERE
PRODUCT DW 2 DUP(0); RESULT OF MULIPLICATION HERE
MOV AX, @DATA
MOV DS, AX
MOV AX, MULTIPLICAND
MUL MULTIPLIER
MOV PRODUCT, AX
MOV PRODUCT+2, DX
MOV AH, 4CH
INT 21H
END START
OUTPUT:
PROGRAM 4
Program:
MODEL SMALL
.DATA
.CODE
W1 DW 02222H
W2 DW 1111H
Q DW ?
R DW ?
MOV AX, @DATA
MOV DS, AX ; INITIALIZE DATA SEGMENT
MOV AX, W1 ; GET DIVIDEND
MOV BX, W2 ; GET DIVISOR
DIV BX ; DIVIDE
MOV Q, AX ; STORE QUOIENT
MOV R, DX ; STORE REMAINDER
MOV AH, 4CH
INT 21H
END ; END PROGRAM
OUTPUT: