mpmc_manual

35
 ARITHMETIC OPERAT IONS USING MASM AIM To write the assembly language program for arithmetic operations using MASM . PROGRAM ADDITION .MODEL SMALL .STACK !!" .DATA  # D$ !A"  #% D$ &" S'M D( ) .CODE $E*+#, MO- A/0DAT A MO- DS/ A MO- A"/!! MO- AL/# ADD AL/#% MO-S'M/A MO- A"/1C" 2SE3-+CE #'M$E3  +#T %" 2 E+T TO DOS E#D $E*+# OUTPUT

Upload: skarthikmtech

Post on 05-Nov-2015

9 views

Category:

Documents


0 download

DESCRIPTION

MPMC_Manual _ SSM _ III ECE_ 2015

TRANSCRIPT

ARITHMETIC OPERATIONS USING MASMAIMTo write the assembly language program for arithmetic operations using MASM.PROGRAMADDITION.MODEL SMALL.STACK 100H.DATAN1DB 0AHN2DB 7HSUMDW?.CODEBEGIN: MOV AX,@DATAMOV DS, AXMOV AH,00MOV AL,N1ADD AL,N2MOVSUM,AXMOV AH,4CH;SERVICE NUMBERINT 21H; EXIT TO DOSEND BEGIN

OUTPUT

SUBTRACTION.MODEL SMALL.STACK 100H.DATAN1DB 0AHN2DB 07HRESDW?.CODEBEGIN: MOVAX, @DATAMOV DS, AXMOV AH,00MOV AL,N1MOV BL,N2SUB AL,BLMOV RES,AXMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

MULTIPLICATION.MODEL SMALL.STACK 100H.DATAN1DB 02HN2DB 04HRESDW?.CODEBEGIN: MOVAX,@DATAMOV DS, AXMOV AH,00MOV AL,N1MUL N2MOV RES,AXMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

DIVISION.MODEL SMALL.STACK 100H.DATAN1DB 0AHN2DB 02HRESDW?.CODEBEGIN: MOVAX,@DATAMOV DS, AXMOV H,00MOV AL,N1DIV N2MOV RES,AXMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

RESULTThus the assembly language programs for arithmetic operations were executed using MASM successfully.

LOGICAL OPERATIONSAIMTo write the assembly language program for logical operations using MASMPROGRAMAND OPERATION.MODEL SMALL.STACK 100H.DATAN1DB12HN2DB 11HSUMDW?.CODEBEGIN: MOVAX,@DATAMOV DS, AXMOV AH,00MOV AL,N1AND AL,N2MOVSUM,AXMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGIN

OUTPUT

OR OPERATION.MODEL SMALL.STACK 100H.DATA N1DB 12HN2DB 11HRESDW?.CODEBEGIN: MOVAX, @DATAMOV DS, AXMOV AH,00MOV AL,N1OR AL,N2MOVRES,AXMOVAH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

NOT OPERATION.MODEL SMALL.STACK 100H.DATA N1DB 12HRESDB?.CODEBEGIN: MOVAX,@DATAMOV DS, AXMOV AH,00MOV AL,N1NOT ALMOVRES,ALMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

2s COMPLEMENT.MODEL SMALL.STACK 100H.DATA N1DB 12HRESDB?.CODEBEGIN: MOVAX,@DATAMOV DS, AXMOV AH,00MOV AL,N1NOT ALINC ALMOVRES,ALMOV AH,4CH;SERVICE NUMBERINT 21H;EXIT TO DOSEND BEGINOUTPUT

RESULTThus the assembly language programs for logical operations were executed using MASM successfully.TRANSFER A DATA BLOCK WITH OVERLAP

AIMTo write the assembly language program for transfer a block with overlap of data using MASM.PROGRAM.MODEL SMALL.DATAArray DB 11h,22h,33h,44h,55hCount DW 0005h.STACK 100h.CODEMOV AX,@DATAMOV ES,AXMOVDS,AXLEA SI,ArrayADDSI,CountMOV CX,CountDEC SIMOV DI,SIADD DI,2hSTD REP MOVSBMOV AH,4ChINT 21hENDOUTPUT

RESULTThus the assembly language program for transfer a block of data with overlap was executed using MASM successfully.

TRANSFER A DATA BLOCK WITHOUT OVERLAP

AIMTo write the assembly language program for transfer a block of data using MASM.PROGRAM.MODEL SMALL.DATAARRAY1 DW 1111H,2222H,3333H,4444H,5555HARRAY2 DW 5 DUP (0)COUNT DW 0005H.STACK 100H.CODEMOV AX,@DATAMOV DS,AXLEA SI,ARRAY1LEA DI,ARRAY2MOV CX,COUNTNEXT: MOV AX,[SI]MOV [DI],AXINC SIINC SIINC DIINC DILOOP NEXTMOV AH,4CHINT 21HENDOUTPUT

RESULTThus the assembly language program for transfer a block of data was executed using MASM successfully.SORTINGAIMTo write the assembly language program to sort the numbers in ascending and descending order using MASMPROGRAM FOR ASCENDING ORDER.MODEL SMALL.STACK 100HDATA SEGMENTA DB 39H,78H,56H,47HSIZ DW $-ADATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX,SIZDEC BXOUTLUP: MOV CX,BXMOV SI,0HINLOOP: MOV AL,A[SI]INC SICMP AL,A[SI]JB GO1 XCHG AL,A[SI]MOV A[SI-1],ALGO1: LOOP INLOOPDEC BXJNZ OUTLUPmov ah,4chint 21hCODE ENDSEND STARTOUTPUT

PROGRAM FOR DESCENDING ORDER.MODEL SMALL.STACK 100HDATA SEGMENTA DB 39H,78H,56H,47HSIZ DW $-ADATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV BX,SIZDEC BXOUTLUP: MOV CX,BXMOV SI,0HINLOOP: MOV AL,A[SI]INC SICMP AL,A[SI]JNB GO1 XCHG AL,A[SI]MOV A[SI-1],ALGO1: LOOP INLOOPDEC BXJNZ OUTLUPMOV AH,4CHINT 21HCODE ENDSEND STARTOUTPUT

RESULTThus the assembly language program for program to sort the numbers in ascending and descending order was executed using MASM successfully.

PROGRAM FOR PASSWORD CHECKINGAIMTo write the assembly language program for password validation using MASM.PROGRAM;PASSWORD-VERIFICATION PROGRAM.MODEL SMALL.STACK 100H.DATAMESSAGEDB 'ENTER PASSWORD PLZ:$'PASSWDDB 'BHARATHI'COUNTDW 8CORRECTDB'PASSWORD VERIFIED AND CORRECT$'NOTCORRECTDB'INVALID$'.CODEBEGIN:MOVAX,@DATAMOVDS,AXMOV CX, COUNT;CX=8MOVBX,OFFSETPASSWD; BX POINTS TO PASSWD;DISPLAYS THE MESSAGEMOVDX,OFFSET MESSAGEMOV AH,09HINT 21H;READ A CHARACTER IN AL WITHOUT ECHOAGAIN:MOV AH,08H;SERVICE NOINT 21H;READS A CHAR IN AL WITHOUT ECHOCMP AL,[BX]JNE ERROR1INCBXLOOP AGAINMOVDX,OFFSET CORRECTMOV AH,09HINT 21HJMP OVERERROR1:MOVDX,OFFSET NOTCORRECTMOVAH,09HINT 21HOVER:MOVAH,4CHINT 21HEND BEGINOUTPUT

RESULTThus the assembly language program for verifying the password was executed using MASM successfully.DISPLAY THE MEMORY SIZEAIMTo write the assembly language programs for displaying the memory size.PROGRAM.MODEL SMALL.STACK 100HPRNSTR MACRO MSGMOV AH, 09HLEA DX, MSGINT 21HENDMDATA SEGMENTANSDB 6 DUP(' '), '$'BUF1DB "MEMORY AVAILABLE : $"BUF2DB " KILOBYTES$"DATA ENDS

CODE SEGMENTASSUMECS:CODE, DS:DATASTART :MOV AX, DATAMOV DS, AXMOVES, AXMOV AX, 0000HINT 12HMOV CX, 000AHMOVSI, OFFSET ANS + 5AGAIN :MOV DX, 0000HDIV CXADDDL, 30HMOV BYTE PTR [SI], DLDECSICMP AX, 0000HJNZ AGAIN

PRNSTR BUF1PRNSTRANSPRNSTR BUF2

MOV AX, 4C00HINT 21HCODE ENDSEND STARTOUTPUT

RESULTThus the assembly language program for displaying the memory size was executed using MASM successfully.DISPLAY THE CURRENT DATE AND TIMEAIMTo write the assembly language program for displaying the current date and time using MASM.PROGRAMdisplay1 macro arglea dx,argmov ah,09hint 21hendmndisp macro arglocal l1,l2movax,argmov cx,00mov bx,0ahl1:mov dx,0000hdivbxpush dxinc cxcmp ax,00hjnz l1l2:pop dxadd dx,30hmov ah,02hint 21hloop l2endm .model small .stack 100h .datamsg1db 13d,10d,'The time is $'str1 db ":$"msg2db 13d,10d,'The date is $'str2 db "-$"hrsdb ?mindb ?secdb ?yrdw ?mnthdb?datdb ? .codestart:movax,@datamovds,axmov ah,2chint 21hmovhrs,chmovmin,clmovsec,dh display1 msg1mov ah,00hmoval,hrsndisp ax display1 str1mov ah,00hmoval,minndisp ax display1 str1mov ah,00hmoval,secndisp axmov ah,2ahint 21hmovyr,cxmovmnth,dhmovdat,dl display1 msg2mov ah,00moval,datndisp ax display1 str2mov ah,00moval,mnthndisp ax display1 str2movax,yrndisp axmov ax,4c00hint 21hend startOUTPUT

RESULTThus the assembly language program for displaying the current date and time was executed using MASM successfully.COUNTER AND TIME DELAYAIMTo write the assembly language program for implementing a counter and a time delay using MASMPROGRAM;COUNTER AND TIME DELAY.MODEL SMALL.STACK 100h.DATA

MSGIN DB 'Enter delay duration (0-50): $'MSG1 DB 'This is Microprocessor!$'DELAYTIME DW 0000H

.CODE

MOV DX,@DATAMOV DS,DXLEA DX,MSGINMOV AH,09HINT 21HIN1: MOV AH,01H INT 21H CMP AL,0DH ; JE NXT SUB AL,30H MOV DL,AL MOV AX,BX MOV CL,0AH MUL CL MOV BX,AX AND DX,00FFH ADD BX,DX MOV DELAYTIME,BX LOOP IN1 NXT: MOV CX,DELAYTIME MOV DL,10 MOV AH,02H INT 21HLEA SI,MSG1LP: PUSH DX MOV DL,[SI] CMP DL,'$' JE NXT2MOV AH,02HINT 21HADD SI,1POP DXMOV DI,DELAYTIMEMOV AH, 0INT 1AhMOV BX, DX Delay:MOV AH, 0INT 1AhSUB DX, BXCMP DI, DXJA Delay LOOP LP NXT2: MOV AH,4CH INT 21H ENDOUTPUT

RESULTThus the assembly language program for implementing a counter and a time delay was executed using MASM successfully.DECIMAL ARITHMETICAIMTo write the assembly language program for decimal arithmetic using MASMPROGRAM FOR ADDITION.MODEL SMALL.STACK 100H.DATAN1DW 000BHN2DW 0008HRESDW ?.CODEMOVAX,@DATAMOVDS,AXMOV AX,N1ADD AX,N2DAAINT 3MOV AH,4CHINT 21HENDOUTPUT

PROGRAM FOR SUBTRACTION.MODEL SMALL.STACK 100H.DATAN1 DW 000BHN2 DW 0008HRES DW ?.CODEMOV AX,@DATAMOV DS, AXMOV AX, N1SUB AX, N2DASINT 3MOV AH, 4CHINT 21HENDOUTPUT

RESULTThus the assembly language program for decimal arithmetic was executed using MASM successfully.DISPLAY A STRINGAIMTo write the assembly language program to display the string using MASMPROGRAM; Program to display a string-8086.model small.stack 100h.dataText db 'hello world by bharathi $'.codebegin:movax,@datamovds,axmov dx , offset text ;dx