22
PC PROGRAMMING WITH ASSEMBLY LANGUAGE USING MASM Procedure: 1. Open command window (click: start->run->type cmd ) 2. Paste the 8086 or MASM software in any drive

Masm Program 113

Embed Size (px)

Citation preview

Page 1: Masm Program 113

PC PROGRAMMING WITH ASSEMBLY LANGUAGE USING

MASM

Procedure:

1. Open command window (click: start->run->type cmd )

2. Paste the 8086 or MASM software in any drive

Page 2: Masm Program 113

3. In that window change the directry [Where you paste the masm software]

Page 3: Masm Program 113

4.In the command window type the directory name after that change the directory to 8086(masm) after that type edit

Page 4: Masm Program 113

5.After changing directory type edit then you get one window in that window you can write a program

Page 5: Masm Program 113

6.After writing a program click: file->save->exit [again we enter the commond window]

7.Type : masm filename,,; [This will display the error report]

Page 6: Masm Program 113

8.Type: link filename,,; [This will create a list file you can see this inside the masm(8086)software]

Note : Here we no need to use stack segment so no need to worry about stack error

Page 7: Masm Program 113

8.Type : debug filename.exe [to create exe file]

Page 8: Masm Program 113

9.Type : n filename.bin [to create a bin file]

Page 9: Masm Program 113

10.Type : wcs:1000 [writing code segment]

Page 10: Masm Program 113

11.Type : g =1000 [to execute a program]

Page 11: Masm Program 113

12. Type : u 1000[to see opcode]

Page 12: Masm Program 113

13.Type : e 1200 [see output in corresponding address] use space bar to see next output value

Page 13: Masm Program 113

15.Type : q [terminate a line]

Page 14: Masm Program 113

16. Down Loading procedure

Note: don’t use these command while down loading

Mov ah, 4ch [These commands are used to see the results system itself] Int 21h

( bin file is used to down loading )

• Type: dc then you can get the following window

Page 15: Masm Program 113

17. press f1 key and set the port settings

Page 16: Masm Program 113

18.press esc key to abort

19.now in micro 86 kit select receiving mode(ie) type si 1000(starting address) then press enter key. Then the kit is ready to receive data and press any in the host to start transmission. During transmisson the message display as ,

transmission progress.

Press esc to abort.

Now binary files are downloaded to kit.

Page 17: Masm Program 113

PROGRAMS: Write an addition program

code segment

assume cs:code,ds:code;

org 1000h

mov ax,1234h

mov bx,1234h

add ax,bx

mov si,1200h

mov [si],ax

mov ah,4ch

int 21h

code ends

end

Write an alp to display a string manupulation in the monitor

Code segment

Assume cs: code, ds: code

Org 1000h

Mov ah, 09h

Mov dx, 1200h

Int 21h

Mov ah, 4ch

Int 21h

Org 1200h

Db “VI micro$”

Code ends

End

------------------------------------------------------------------------------------------------------------------

Write an alp to read scan code and character code from a keyboard control

Code segment

Assume cs: code, ds: code

Page 18: Masm Program 113

Org 1000h

Mov ah, 0h

Int 16h

Mov si, 1200h

Mov [si], al

Inc si

Mov [si], ah

Mov ah, 4ch

Int 21h

Code ends

End

-----------------------------------------------------------------------------------------

File manipulation: � File creation

code segment

assume cs:code,ds:code

org 1000h

mov ax,data

mov ds,ax

mov ah,3ch

mov cx,0000h

mov dx,1200h

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1200h

db 'vi.asm'

data ends

end

Write an alp to create a directory using dos calls

Page 19: Masm Program 113

code segment

assume cs:code,ds:data

org 1000h

mov ax,data

mov ds,ax

mov ah,39h

mov dx,1200h

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1200h

db 'man'

data ends

end Create a file in a different directory:

code segment

assume cs:code,ds:code

org 1000h

mov ax,data

mov ds,ax

mov ah,5bh

mov dx,1200h

mov cx,0

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1200h

db 'man\v.asm'

data ends

end

� File rename[Find and replace]

code segment

Page 20: Masm Program 113

assume cs:code,ds:data,es:data

org 1000h

mov ax,data

mov ds,ax

mov es,ax

mov dx,1300h

mov [di],1500h

lea dx,oldname

lea di,newname

mov ah,56h

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1300h

oldname db 'vi.txt'

org 1500h

newname db 'service.txt'

data ends

end

---------------------------------------------------------------------------------------------------------

Write an alp to writing data’s to a file

code segment

assume cs:code,ds:data

org 1000h

mov ax,data

mov ds,ax

mov ah,3dh

mov al,01h

lea dx,filename

int 21h

mov si,1500h

mov [si],ax

mov ah,40h

lea dx,buffer

Page 21: Masm Program 113

mov cx,0050h

mov bx,[si]

int 21h

mov ah,3eh

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1300h

filename db 'vi.asm'

org 1400h

buffer db 'vimicro systems'

data ends

end

� File deletion

code segment

assume cs:code,ds:code

org 1000h

mov ax,data

mov ds,ax

mov ah,41h

mov dx,1200h

int 21h

mov ah,4ch

int 21h

code ends

data segment

org 1200h

db 'vi.asm'

data ends

end

Addition: code segment

assume cs:code,ds:code

Page 22: Masm Program 113

org 1000h

mov ax,1234h

mov bx,1234h

add ax,bx

mov si,1200h

mov [si],ax

mov ah,4ch

int 21h

code ends

end

Result: e 1200=68 24