home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / TASMSWAN.ZIP / SUBDEMO.ASM < prev    next >
Assembly Source File  |  1989-07-10  |  819b  |  53 lines

  1. %TITLE  "Subroutine demo"
  2.  
  3.     IDEAL
  4.     DOSSEG
  5.     MODEL    small
  6.     STACK    256
  7.  
  8.     DATASEG
  9.  
  10. exitCode    DB    0    ;if you want comments
  11.  
  12.     CODESEG
  13.  
  14. Start:
  15.     mov    ax,@data
  16.     mov    ds,ax
  17.  
  18.     mov    al,1
  19.     mov    bl,2
  20.     mov    cl,3
  21.     mov    dl,4
  22.     call    AddRegisters
  23.     call    AddRegisters
  24.     call    AddRegisters
  25.  
  26. Exit:
  27.     mov    ah,04Ch
  28.     mov    al,[exitCode]
  29.     int     21h
  30.  
  31. ;---------------------------------------------------------
  32. ;  AddRegisters        Sum al,bl,cl, & dl
  33. ;---------------------------------------------------------
  34. ; Input:
  35. ;    al,bl,cl,dl = four 8-bit values to add
  36. ; Output:
  37. ;    ax = al + bl + cl + dl
  38. ; Registers:
  39. ;    ax,bh,ch,dh changed
  40. ;--------------------------------------------------------
  41. PROC    AddRegisters
  42.     xor    ah,ah
  43.     xor    bh,bh
  44.     xor    ch,ch
  45.     xor    dh,dh
  46.     add    ax,bx
  47.     adc    ax,cx
  48.     adc    ax,dx
  49.     ret
  50. ENDP    AddRegisters
  51.  
  52.     END    Start
  53.