Line | |
---|
1 | .define .loi
|
---|
2 | .define .los
|
---|
3 | .text
|
---|
4 |
|
---|
5 | ! #bytes in cx
|
---|
6 | ! address in bx
|
---|
7 | ! save si/di. they might be register variables
|
---|
8 | .los:
|
---|
9 | mov dx,si
|
---|
10 | mov si,bx
|
---|
11 | pop bx
|
---|
12 | mov ax,cx
|
---|
13 | sar cx,#1
|
---|
14 | jnb 1f
|
---|
15 | xorb ah,ah
|
---|
16 | lodsb
|
---|
17 | mov si,dx
|
---|
18 | push ax
|
---|
19 | jmp (bx)
|
---|
20 | 1:
|
---|
21 | sub sp,ax
|
---|
22 | jmp 1f
|
---|
23 |
|
---|
24 | .loi:
|
---|
25 | ! only called with size > 4
|
---|
26 | mov dx,si
|
---|
27 | mov si,bx
|
---|
28 | pop bx
|
---|
29 | sub sp,cx
|
---|
30 | sar cx,#1
|
---|
31 | 1:
|
---|
32 | mov ax,di
|
---|
33 | mov di,sp
|
---|
34 | rep
|
---|
35 | mov
|
---|
36 | mov si,dx
|
---|
37 | mov di,ax
|
---|
38 | jmp (bx)
|
---|
Note:
See
TracBrowser
for help on using the repository browser.