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> borland turbo assembler</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Borland Turbo Assembler
------------------------------------------------------------------------------
 Blinker supports all versions of Turbo Assembler. The following sample
 programs written in Turbo Assembler will be used throughout this section to
 illustrate the basics of linking Turbo 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 declared far
 extrn    limerick:far
 .code
 proc     main     far
          mov      ax,DGROUP
          mov      ds,ax
          call     limerick
          mov      ax,4c00h
          int      21h
 endp     main
 end      main

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

 The two modules are assembled as follows :

 TASM test
 TASM 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
 BLINKER OVERLAY OPSIZE 50     # 50kb overlay area
 BLINKER OVERLAY PAGEFRAME ON  # Run overlays in pageframe
 BLINKER MESSAGE WINK          # Only wink one eye
 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