|
|
1.1 ! root 1: //////// ! 2: / ! 3: / void ffcopy(from_fp, to_fp, count) ! 4: / faddr_t from_fp, to_fp; ! 5: / int count; ! 6: / ! 7: / Copy count bytes from from_fp to to_fp. ! 8: / ! 9: / Here is the stack after initial "push bp": ! 10: / ! 11: / 12(bp) count ! 12: / 10(bp) FP_SEL(to_fp) ! 13: / 8(bp) FP_OFF(to_fp) ! 14: / 6(bp) FP_SEL(from_fp) ! 15: / 4(bp) FP_OFF(from_fp) ! 16: / 2(bp) return IP ! 17: / 0(bp) old bp ! 18: / ! 19: //////// ! 20: ! 21: ffcopy_: ! 22: push bp ! 23: mov bp, sp ! 24: push es ! 25: push di ! 26: push ds ! 27: push si ! 28: ! 29: lds si, 4(bp) / from_fp to DS:SI ! 30: les di, 8(bp) / to_fp to ES:DI ! 31: mov cx, 12(bp) / rep count to CX ! 32: rep ! 33: movsb ! 34: ! 35: pop si ! 36: pop ds ! 37: pop di ! 38: pop es ! 39: pop bp ! 40: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.