Sunteți pe pagina 1din 13

Creating a file:

ASSUME CS:CODE,DS:DATA,SS:STACK
DATA SEGMENT
FNAME DB 'C:\MASM\FILE.DAT',0
DATA ENDS
STACK SEGMENT
STACK ENDS
CODE SEGMENT
START:
MOV AH,3CH
MOV CX,01H
MOV DX,SEG FNAME
MOV DS,DX
MOV DX,OFFSET FNAME
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
END

OUTPUT:

C:\masm >masm create.asm

C:\masm >link create.obj

C:\masm >debug create.exe

-g

program terminated normally

-q







Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)



Deleting a file:

ASSUME CS:CODE,DS:DATA
DATA SEGMENT
FNAME DB "C:\MASM\FILE.DAT',0
DATA ENDS
CODE SEGMENT
START:
MOV AH,41H
MOV CX,01H
MOV DX,SEG FNAME
MOV DS,DX
MOV DX,OFFSET FNAME
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
END

OUTPUT:

C:\masm >masm delt.asm

C:\masm >link delt.obj

C:\masm >debug delt.exe

-g

Program terminated normally

-q








Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)





Renaming a file:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
OLDNAME DB 'C:\MASM\FILE.DAT', 0
NEWNAME DB 'C:\MASM\SWAT.DAT', 0
DATA ENDS
CODE SEGMENT
START:
MOV AH,56H
MOV DX,SEG OLDNAME
MOV DS,DX
MOV DX,OFFSET OLDNAME
MOV ES,DI
MOV DI,SEG NEWNAME
MOV ES,DI
MOV DI,OFFSET NEWNAME
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
END

OUTPUT:

C:\masm >masm rename.asm

C:\masm >link rename.obj

C:\masm >debug rename.exe

-g

Program terminated normally

-q



Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


Sorting in ascending order:

DATA SEGMENT
N DB 04H,01H,08H,00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV BX,0004H
DEC BX
OUTLOOP:
MOV CX,BX
MOV SI,0000H
INLOOP:
MOV AL,N[SI]
INC SI
CMP AL,N[SI]
JB L1
XCHG AL,N[SI]
MOV N[SI-1],AL
L1:
LOOP INLOOP
DEC BX
JNZ OUTLOOP
INT 3
CODE ENDS
END START

output:

C:\masm >debug asc.exe

AX=0B00 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0001 DI=0000
DS=0B29 ES=0B19 SS=0B29 CS=0B2A IP 0026 NV UP EI PL NZ NA PO NC
0B2A:0026 CC INT3
-D DS:00 0F
0B29:0000 00 01 04 08 00 00 00 00-00 00 00...



Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


Comparing two strings:

PRINT MACRO MSG
MOV AH,09H
MOV DX,OFFSET MSG
INT 21H
ENDM
DATA SEGMENT
DAT1 DW 1234H,5678H,9012H,3456H
DAT2 DW 1234H,5678H,9012H,3456H
SIZ=4
MSG1 DB 13,10,"DATA ARE EQUAL","$"
MSG2 DB 13,10,"DATA ARE NOT EQUAL","$"
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: CLD
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,DAT1
LEA DI,DAT2
MOV CX,SIZ
REPE CMPSW
JZ HELLO
MOV AX,DATA
MOV DS,AX
PRINT MSG2
JMP SKIP
HELLO: MOV AX,DATA
MOV DS,AX
PRINT MSG1
SKIP: MOV AH,4CH
INT 21H
CODE ENDS
END START
END HELLO
END SKIP
END



Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)




OUTPUT:

C:\masm >masm cmp.asm

c:\masm >link cmp.obj

c:\masm >debug cmp.exe

-g

DATA ARE NOT EQUAL

Program terminated normally

-q

























Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)



Find a character in the given string

DISPLAY MACRO MSG
MOV AH,09H
MOV DX,OFFSET MSG
INT 21H
ENDM
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
STR1 DB "WELCOME","$"
MSG1 DB 13,10,"CHAR FOUND","$"
MSG2 DB 13,10,"NOT FOUND","$"
FIND EQU "D"
DATA ENDS
CODE SEGMENT
START:
CLD
MOV CX,10
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA DI,STR1
MOV AL,FIND
REPNE SCASB
JZ FOUND
DISPLAY MSG2
JMP EXIT
FOUND:
DISPLAY MSG1
EXIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
END






Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)





OUTPUT:

C:\masm >masm find.asm

C:\masm >link find.obj

C:\masm >debug find.exe

-g

NO, CHAR NOT FOUND

Program terminated normally

-q
























Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


Sorting in descending order:

DATA SEGMENT
N DB 04H,01H,08H,00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV BX,0004H
DEC BX
OUTLOOP:
MOV CX,BX
MOV SI,0000H
INLOOP:
MOV AL,N[SI]
INC SI
CMP AL,N[SI]
JA L1
XCHG AL,N[SI]
MOV N[SI-1],AL
L1:
LOOP INLOOP
DEC BX
JNZ OUTLOOP
INT 3
CODE ENDS
END START

OUTPUT:

C:\masm >debug dsc.exe

-g

AX=0B0B BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0001 DI=0000
DS=0B29 ES=0B19 SS=0B29 CS=0B2A IP 0026 NV UP EI PL NZ NA PO NC
0B2A:0026 CC INT3
-D DS:00 0F
0B29:0000 00 08 04 01 00 00 00 00-00 00 00...

Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


Identifying key press of A

DISPLAY MACRO MSG
MOV AX,SEG MSG
MOV DS,AX
MOV DX,OFFSET MSG
MOV AH,09H
INT 21H
ENDM
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
MSG1 DB 13,10,'PRESS KEY A:','$'
MSG2 DB 13,10,'KEY A IS PRESSED','$'
DATA ENDS
CODE SEGMENT
START:
MOV AH,01H
INT 21H
CMP AL,'A'
JZ DISPLAY1
DISPLAY MSG1
JMP START
DISPLAY1:DISPLAY MSG2
MOV AH,4CH
INT 21H
CODE ENDS
END START
END














Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)





OUTPUT:

C:\masm >masm key.asm

C:\masm >link key.obj

C:\masm >debug key.exe

-g

a

press key A

key 'A' is pressed

Program terminated normally

-q




















Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


Reversing a string:

PRINTSTRING MACRO MSG
MOV AH,09H
MOV DX,OFFSET MSG
INT 21H
ENDM
DATA SEGMENT
CR EQU 0DH
LF EQU 0AH
BUFF DB 80 DUP(0)
REVBUFF DB 80 DUP(0)
MSG1 DB 'ENTER THE STRING:','$'
MSG2 DB CR,LF,'REVERSED STRING:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
PRINTSTRING MSG1
MOV SI,OFFSET BUFF
RDCHR: MOV AH,01H
INT 21H
MOV [SI],AL
INC SI
CMP AL,CR
JNE RDCHR
MOV SI,OFFSET BUFF
MOV BX,00
NXTCHR:MOV AL,[SI]
CMP AL,CR
JE SKIP1
MOV [SI],AL
INC SI
INC BX
JMP NXTCHR
SKIP1: MOV SI,OFFSET BUFF
ADD SI,BX
MOV DI,OFFSET REVBUFF
MOV CX,BX
NXTCHR1:DEC SI
MOV AL,[SI]
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)


MOV [DI],AL
INC DI
LOOP NXTCHR1
MOV AL,'$'
MOV [DI],AL
PRINTSTRING MSG2
PRINTSTRING REVBUFF
MOV AH,4CH
MOV AL,00H
INT 21H
CODE ENDS
END START

OUTPUT:

C:\masm >masm rev.asm

C:\masm >link rev.obj

C:\masm >debug rev.exe

-g

ENTER THE STRING: micro

REVERSED STRING: orcim

Program terminated normally
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)

S-ar putea să vă placă și