|
|
1.1 ! root 1: /* ! 2: * void * memxch(void *buf1, void *buf2, size_t size) ! 3: * exchanges buf1 & buf2 for size. ! 4: */ ! 5: #include <larges.h> ! 6: buf1 = LEFTARG ! 7: buf2 = buf1+DPL ! 8: size = buf2+DPL ! 9: Enter(memxch_) ! 10: mov cx, size(bp) ! 11: Les si, buf1(bp) ! 12: Lds di, buf2(bp) ! 13: shr cx, $1 ! 14: jnc 1f ! 15: movb al, Pes (di) ! 16: movsb ! 17: movb -1(si), al ! 18: 1: ! 19: jcxz 3f ! 20: 2: ! 21: mov ax, Pes (di) ! 22: movs ! 23: mov -2(si), ax ! 24: loop 2b ! 25: 3: ! 26: Leave
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.