home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / asmutil / ovl301.zip / PRTEST.ASM < prev    next >
Assembly Source File  |  1989-01-11  |  3KB  |  156 lines

  1. DOSSEG
  2. .MODEL    large
  3. .STACK    100h
  4.  
  5. PUBLIC p2message,p3message
  6.  
  7. EXTRN p2:PROC,p3:PROC
  8.  
  9. .CODE
  10. start:
  11.     mov    ax,dgroup
  12.     mov    ds,ax
  13.     mov    dx,offset message
  14.     mov    ah,9
  15.     int    21h
  16.  
  17.     mov    ax,offset p3
  18.     mov    word ptr jmp_address,ax
  19.     mov    ax,seg p3
  20.     mov    word ptr jmp_address+2,ax
  21.     call    dword ptr [jmp_address]
  22.  
  23.     mov    ax,offset p2
  24.     mov    word ptr jmp_address,ax
  25.     mov    ax,seg p2
  26.     mov    word ptr jmp_address+2,ax
  27.     mov    bx,offset jmp_address
  28.     sub    bx,2
  29.     mov    si,1
  30.     call    dword ptr [bx+si+1]
  31.  
  32.     mov    ax,offset p3
  33.     mov    word ptr jmp_address,ax
  34.     mov    ax,seg p3
  35.     mov    word ptr jmp_address+2,ax
  36.     mov    bx,offset jmp_address
  37.     sub    bx,257
  38.     mov    si,1
  39.     call    dword ptr [bx+si+256]
  40.  
  41.     mov    ax,offset p2
  42.     mov    word ptr jmp_address,ax
  43.     mov    ax,seg p2
  44.     mov    word ptr jmp_address+2,ax
  45.     mov    bx,offset jmp_address
  46.     sub    bx,2
  47.     mov    di,1
  48.     call    dword ptr [bx+di+1]
  49.  
  50.     mov    ax,offset p3
  51.     mov    word ptr jmp_address,ax
  52.     mov    ax,seg p3
  53.     mov    word ptr jmp_address+2,ax
  54.     mov    bx,offset jmp_address
  55.     sub    bx,257
  56.     mov    di,1
  57.     call    dword ptr [bx+di+256]
  58.  
  59.     mov    ax,offset p2
  60.     mov    word ptr jmp_address,ax
  61.     mov    ax,seg p2
  62.     mov    word ptr jmp_address+2,ax
  63.     mov    bx,offset jmp_address
  64.     sub    bx,2
  65.     call    dword ptr [bx+2]
  66.  
  67.     mov    ax,offset p3
  68.     mov    word ptr jmp_address,ax
  69.     mov    ax,seg p3
  70.     mov    word ptr jmp_address+2,ax
  71.     mov    bx,offset jmp_address
  72.     sub    bx,257
  73.     call    dword ptr [bx+257]
  74.  
  75.     mov    ax,offset p2
  76.     mov    word ptr jmp_address,ax
  77.     mov    ax,seg p2
  78.     mov    word ptr jmp_address+2,ax
  79.     mov    si,offset jmp_address
  80.     sub    si,2
  81.     call    dword ptr [si+2]
  82.  
  83.     mov    ax,offset p3
  84.     mov    word ptr jmp_address,ax
  85.     mov    ax,seg p3
  86.     mov    word ptr jmp_address+2,ax
  87.     mov    si,offset jmp_address
  88.     sub    si,257
  89.     call    dword ptr [si+257]
  90.  
  91.     mov    ax,offset p2
  92.     mov    word ptr jmp_address,ax
  93.     mov    ax,seg p2
  94.     mov    word ptr jmp_address+2,ax
  95.     mov    di,offset jmp_address
  96.     sub    di,2
  97.     call    dword ptr [di+2]
  98.  
  99.     mov    ax,offset p3
  100.     mov    word ptr jmp_address,ax
  101.     mov    ax,seg p3
  102.     mov    word ptr jmp_address+2,ax
  103.     mov    di,offset jmp_address
  104.     sub    di,257
  105.     call    dword ptr [di+257]
  106.  
  107.     mov    ax,offset p2
  108.     mov    word ptr jmp_address,ax
  109.     mov    ax,seg p2
  110.     mov    word ptr jmp_address+2,ax
  111.     mov    bx,offset jmp_address
  112.     sub    bx,2
  113.     mov    si,2
  114.     call    dword ptr [bx+si]
  115.  
  116.     mov    ax,offset p3
  117.     mov    word ptr jmp_address,ax
  118.     mov    ax,seg p3
  119.     mov    word ptr jmp_address+2,ax
  120.     mov    bx,offset jmp_address
  121.     call    dword ptr [bx]
  122.  
  123.     mov    ax,offset p2
  124.     mov    word ptr jmp_address,ax
  125.     mov    ax,seg p2
  126.     mov    word ptr jmp_address+2,ax
  127.     mov    bx,offset jmp_address
  128.     sub    bx,2
  129.     mov    di,2
  130.     call    dword ptr [bx+di]
  131.  
  132.     mov    ax,offset p3
  133.     mov    word ptr jmp_address,ax
  134.     mov    ax,seg p3
  135.     mov    word ptr jmp_address+2,ax
  136.     mov    si,offset jmp_address
  137.     call    dword ptr [si]
  138.  
  139.     mov    ax,offset p2
  140.     mov    word ptr jmp_address,ax
  141.     mov    ax,seg p2
  142.     mov    word ptr jmp_address+2,ax
  143.     mov    di,offset jmp_address
  144.     call    dword ptr [di]
  145.  
  146.     mov    ax,4c00h
  147.     int    21h
  148.  
  149. .DATA
  150.     message db 13,10,"Hello from PRTEST.",13,10,'$'
  151.     p2message db 13,10,"Hello from PTEST2.",13,10,'$'
  152.     p3message db 13,10,"Hello from PTEST3.",13,10,'$'
  153. jmp_address    dd    0
  154.  
  155.     END        start
  156.