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