home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / microcrn / issue_36.arc / SYHLT0.ASM < prev   
Assembly Source File  |  1987-05-22  |  2KB  |  80 lines

  1. comment ~
  2. Listing 1- Sample Program (file syhlt0.asm)
  3.  
  4. (C) Copyright 1987 Ken Berry- All rights reserved.
  5. Copies may be made for non-commercial, private use only.
  6. ~
  7.  
  8.      title syhlt0.asm porting macros test program
  9.      name syhlt0
  10.  
  11.      include syhl.mac    ; include porting defintions
  12.  
  13.      _cmplr              ; specify compiler and memory model
  14.  
  15. ; external declarations
  16.  
  17.      _xb  xbyte          ; external byte label
  18.      _xw  xword          ; external word label
  19.      _xd  xdword         ; external double word label
  20.      _xq  xqword         ; external quad word label
  21.      _xt  xtbyte         ; external ten byte label
  22.      _xnp xnearp         ; external near procedure label
  23.      _xfp xfarp          ; external far procedure label
  24.      _xp  xproc          ; external procedure label (depends on code size)
  25.      _xcp xcodept        ; external code pointer label
  26.      _xdp xdatapt        ; external data pointer label
  27.  
  28. ; static data
  29.  
  30.      _begs data          ; begin static data segment
  31.  
  32.      _db dbyte,0,0,public ; byte
  33.      _db dstring,1,30,public ; data string (30 characters)
  34.      _dw dword,2         ; word
  35.      _dd ddword,3        ; double word
  36.      _dd dqword,4        ; quad word
  37.      _dt dtbyte,5        ; ten byte
  38.      _dcp dcodept,6      ; code pointer
  39.      _lbw <public,ddatawpt> ; public symbol ddatawpt = ddatapt
  40.      _ddp ddatapt,7      ; data pointer
  41.  
  42.      _ends               ; end static data segment
  43.  
  44. ; code
  45.  
  46.      _begs code          ; begin code segment
  47.  
  48.      _dclp subr0,<public,far> ; subr0 function declaration
  49.  
  50.      _pb b0              ; parameter b0
  51.      _pw w1              ; parameter w1
  52.  
  53.      _lw w2              ; local w2
  54.  
  55.      _begp               ; subr0 entry code
  56.  
  57.      _call subr1,<w2,w2> ; call subr1
  58.  
  59.      _endp               ; subr0 exit code
  60.  
  61.      _dclp subr1         ; subr1 function declaration
  62.  
  63.      _pw w0              ; parameter w0
  64.      _pw w1              ; parameter w1
  65.  
  66.      _begp               ; subr1 entry code
  67.  
  68.      mov ax,w0           ; compute w0 + w1
  69.      add ax,w1
  70.  
  71.      _endp               ; subr1 exit code
  72.  
  73.      _ends               ; end code segment
  74.  
  75.      end                 ; end of program
  76.  
  77. comment ~
  78. end of Listing 1
  79. ~
  80.