Masm Program 11

Embed Size (px)

Citation preview

  • 8/2/2019 Masm Program 11

    1/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

  • 8/2/2019 Masm Program 11

    2/22

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

  • 8/2/2019 Masm Program 11

    3/22

    4.In the command window type the directory name after that change the

    directory to 8086(masm) after that type edit

  • 8/2/2019 Masm Program 11

    4/22

    5.After changing directory type edit then you get one window in that window

    you can write a program

  • 8/2/2019 Masm Program 11

    5/22

    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]

  • 8/2/2019 Masm Program 11

    6/22

    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

  • 8/2/2019 Masm Program 11

    7/22

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

  • 8/2/2019 Masm Program 11

    8/22

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

  • 8/2/2019 Masm Program 11

    9/22

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

  • 8/2/2019 Masm Program 11

    10/22

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

  • 8/2/2019 Masm Program 11

    11/22

    12. Type : u 1000[to see opcode]

  • 8/2/2019 Masm Program 11

    12/22

  • 8/2/2019 Masm Program 11

    13/22

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

    to see next output value

  • 8/2/2019 Masm Program 11

    14/22

    15.Type : q [terminate a line]

  • 8/2/2019 Masm Program 11

    15/22

    16. Down Loading procedure

    Note: dont 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

  • 8/2/2019 Masm Program 11

    16/22

    17. press f1 key and set the port settings

  • 8/2/2019 Masm Program 11

    17/22

    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.

  • 8/2/2019 Masm Program 11

    18/22

    PROGRAMS:

    Write an alp to display a string manupulation in the monitor

    Code segment

    Assume cs: code, ds: codeOrg 1000h

    Mov ah, 09h

    Mov dx, 1200h

    Int 21h

    Mov ah, 4ch

    Int 21h

    Org 1200h

    Db VI micro$

    Code endsEnd

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

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

    Code segment

    Assume cs: code, ds: code

    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

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

  • 8/2/2019 Masm Program 11

    19/22

    File manipulation:

    File creation

    code segment

    assume cs:code,ds:code

    org 1000hmov 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

    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

  • 8/2/2019 Masm Program 11

    20/22

    Create a file in a different directory:

    code segment

    assume cs:code,ds:code

    org 1000h

    mov ax,datamov 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 'e:\man\v.asm'

    data ends

    end

    File rename[Find and replace]

    code segment

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

    org 1000hmov 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

  • 8/2/2019 Masm Program 11

    21/22

    newname db 'service.txt'

    data ends

    end

    File deletioncode segment

    assume cs:code,ds:code

    org 1000h

    mov ax,data

    mov ds,ax

    mov ah,41h

    mov dx,1200h

    int 21hmov ah,4ch

    int 21h

    code ends

    data segment

    org 1200h

    db 'vi.asm'

    data ends

    end

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

    Write an alp to writing datas 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

  • 8/2/2019 Masm Program 11

    22/22

    lea dx,buffer

    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.txt'

    org 1400h

    buffer db 'vimicro systems'

    data ends

    end

    Addition:code segment

    assume cs:code,ds:code

    org 1000h

    mov ax,1234h

    mov bx,1234h

    add ax,bxmov si,1200h

    mov [si],ax

    mov ah,4ch

    int 21h

    code ends

    end

    Result:e 1200=68 24