Replies
Welcome, guest
Join CrazyEngineers to reply, ask questions, and participate in conversations.
CrazyEngineers powered by Jatra Community Platform
-
@jackisback13-RkFEHM • Apr 24, 2010
.MODEL SMALL ;ASSEMBLER DIRECTIVE
.DATA ;ASSEMBLER DIRECTIVE
MULTIPLICAND DB 3H ;DEFINE MULTIPLICAND
MULTIPLIER DB 4H ;DEFINE MULTIPLIER
.CODE ;ASSEMBLER DIRECTIVE
MOV AX,@DATA ;LOAD DATA INTO
MOV DS,AX ;THE DATA SEGMENT
MOV AX,0000H ;CLEAR VALUE OF AX
mov AL, MULTIPLICAND ;LOAD AL WITH MULTIPLICAND
MOV BL, MULTIPLIER ;LOAD MULTIPLIER WITH BL
MUL BL ;MULTIPLY THE VALUE IN AL WITH VALUE STORED IN BL
;DISPLAY
MOV CL,04H ;LOAD CL WITH NO. OF BITS TO SHIFT
MOV CH,02H ;LOAD CH WITH NO. OF DIGITS TO DISPLAY
MOV BX,AX ;STORE PRODUCT IN BX
LAB1:
ROL BL,CL ;SWAP TENS AND UNITS DIGIT
MOV DL,BL ;MOV THE TEN'S DIGIT TO BE DISPLAYED IN DL
AND DL,0FH ;MASK UNIT'S DIGIT WHICH IS NOW IN THE 10'S PLACE AFTER SWAPPING
CMP DL,09H ;CHECK IF IT IS LESS THAN OR EQUAL TO 9
JBE LAB2
ADD DL,07 ;IF NOT THEN ADD 7;
LAB2:
ADD DL,30H ;ADD 30H TO GET THE ASCII EQIUVALENT OF THE NO. TO BE DISPLAYED
MOV AH,02H ;DISPLAY NO.
INT 21H
DEC CH ;DEC NO. OF DIGITS TO BE DISPLAYED
JNZ LAB1 ;JUMP TO LAB1 IF CH!=0
MOV AH,4CH ;TERMINATE PROGRAM
INT 21H
END ;END OF CODE SEGMENT ANOTHER ASSEMBLER DIRECTIVE
Note: The output will be in hex form
Do you want the directives PUBLIC & EXTRN to be used specifically used in the program?