home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / PP911.ZIP / HELLO286 < prev    next >
Text File  |  1990-05-07  |  1KB  |  47 lines

  1. POWER PROGRAMMING
  2. RAY DUNCAN
  3. Vol. 9, No. 11
  4.  
  5. HELLO286
  6.  
  7.         .286p
  8.         .287
  9.         assume  cs:_TEXT, ds:DGROUP, ss:DGROUP
  10.  
  11. _DATA   segment
  12. msg     db      0ah,'Hello World!',0    ; text to display
  13. _DATA   ends
  14.  
  15. _TEXT   segment
  16. wlen    equ     word ptr [bp-6] ; assign stack locations
  17. rc      equ     word ptr [bp-4] ; of local variables
  18. p       equ     word ptr [bp-2]
  19.  
  20. _main   proc    near
  21.         push    bp              ; set up stack frame
  22.         mov     bp,sp
  23.         mov     ax,6            ; allocate local vars
  24.         call    __chkstk
  25.         mov     p,offset DGROUP:msg ; initialize p pointer
  26.                                 ; set up DosWrite call
  27.         push    1               ; push stdout handle
  28.         push    ds              ; push far pointer to text
  29.         push    offset DGROUP:msg
  30.         push    offset DGROUP:msg
  31.         call    _strlen
  32.         add     sp,2
  33.         push    ax              ; push length of text
  34.         lea     ax,wlen         ; push far pointer to wlen
  35.         push    ss
  36.         push    ax
  37.         call    far ptr DosWrite   ; transfer to OS/2
  38.         mov     rc,ax           ; save error/success code
  39.         leave                   ; discard stack frame
  40.         ret                     ; return to caller
  41. _main   endp
  42.  
  43. _TEXT   ends
  44.  
  45.  
  46.  
  47.