| Rev | Line |  | 
|---|
| [9] | 1 | .define .lar2 | 
|---|
|  | 2 | .text | 
|---|
|  | 3 |  | 
|---|
|  | 4 | .lar2: | 
|---|
|  | 5 | ! bx, descriptor address | 
|---|
|  | 6 | ! ax, index | 
|---|
|  | 7 | pop     cx | 
|---|
|  | 8 | pop     dx              ! base address | 
|---|
|  | 9 | push    cx | 
|---|
|  | 10 | push    si | 
|---|
|  | 11 | mov     si,dx | 
|---|
|  | 12 | sub     ax,(bx) | 
|---|
|  | 13 | mov     cx,4(bx) | 
|---|
|  | 14 | imul    cx | 
|---|
|  | 15 | add     si,ax | 
|---|
|  | 16 | sar     cx,#1 | 
|---|
|  | 17 | jnb     1f | 
|---|
|  | 18 | xorb    ah,ah | 
|---|
|  | 19 | lodsb | 
|---|
|  | 20 | pop     si | 
|---|
|  | 21 | pop     bx | 
|---|
|  | 22 | push    ax | 
|---|
|  | 23 | jmp     (bx) | 
|---|
|  | 24 | 1: | 
|---|
|  | 25 | pop     dx              ! saved si | 
|---|
|  | 26 | mov     ax,4(bx) | 
|---|
|  | 27 | pop     bx              ! return address | 
|---|
|  | 28 | sub     sp,ax | 
|---|
|  | 29 | mov     ax,di           ! save di | 
|---|
|  | 30 | mov     di,sp | 
|---|
|  | 31 | rep | 
|---|
|  | 32 | mov | 
|---|
|  | 33 | mov     di,ax | 
|---|
|  | 34 | mov     si,dx | 
|---|
|  | 35 | jmp     (bx) | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.