Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Blinker 5.10 Online Reference - <b> microsoft assembler</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Microsoft Assembler
------------------------------------------------------------------------------
 Blinker supports version 4.0 and later of Microsoft Assembler. The following
 sample programs written in Microsoft Assembler will be used throughout this
 section to illustrate the basics of linking Microsoft Assembler programs
 with Blinker.
 Overlaid programs must be assembled to use far calls, i.e. medium, large or
 huge memory model. Extended and dual mode programs must be assembled to use
 large or huge memory model.

 TEST.ASM
 .model      large
 .stack      100h
 ; Overlaid procedures must be far
 extrn       limerick:far
 .code
 main     proc     far
          mov      ax,DGROUP
          mov      ds,ax
          call     limerick
          mov      ax,4c00h
          int      21h
 main     endp
 end      main

 Please note that the startup module in an assembler program cannot be
 overlaid.

 LIMERICK.ASM
 .model      large
 public      limerick
 .data
 testmsg  db       'There was a young fellow from Microsoft'
          db       0dh,0ah,'$'
 .code
 ; overlaid procedures must be far
 limerick proc     far
          mov      ah,9
          mov      dx,offset DGROUP:testmsg
          int      21h
          ret
 limerick endp
 end

 The two modules are assembled as follows :

 MASM test;
 MASM limerick;

 DOS extended / non-overlaid program

 # TEST.LNK (This is a comment)
 # Comment out the next line for DOS real mode program
 BLINKER EXECUTABLE EXTENDED   # Create DOS extended program
 FILE test
 FILE limerick

 This causes Blinker to link the two object modules specified in the FILE
 commands (test.obj and limerick.obj) to create a DOS extended program with
 the name TEST.EXE, which is the name of the first .OBJ file in a FILE
 command.

 Dual mode / overlaid program

 Please note that the startup module in an assembler program cannot be
 overlaid.

 # TESTDUAL.LNK
 # Comment out the next line for dynamic overlays only
 BLINKER EXECUTABLE DUAL # Create dual mode program
 # 50kb overlay area
 BLINKER OVERLAY OPSIZE 50
 # Run overlays in pageframe
 BLINKER OVERLAY PAGEFRAME ON
 # Only wink one eye
 BLINKER MESSAGE WINK
 FILE test               # This file is not overlaid
 BEGINAREA               # Start of overlays
    FILE limerick        # This file is overlaid
 ENDAREA                 # End of overlays
 OUTPUT t                # Output .EXE name
 MAP A,S                 # Create MAP file

 16 bit Windows program

 #TESTWIN.LNK
 FILE test
 FILE limerick
 DEFFILE TEST   # Use TEST.DEF
 #TEST.DEF
 NAME           TEST
 DESCRIPTION    'A small Windows program'
 EXETYPE        WINDOWS 3.1
 HEAPSIZE       1024
 STACKSIZE      8192

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson