|
|
1.1.1.2 ! root 1: ; Copyright 1992 Eric R. Smith ! 2: ! 3: ; All rights reserved ! 4: 1.1 root 5: ; 6: 7: ; quickzero(char *place, long size): zero an area of memory. "size" is 8: 9: ; the number of 256 byte blocks in the area, and must be > 0. 10: 11: ; registers changed: d0 and a0 12: 13: ; 14: 15: TEXT 16: 17: 18: 19: XDEF _quickzero 20: 21: _quickzero: 22: 23: move.l 4(sp),a0 ; place to zero at 24: 25: move.l 8(sp),d0 ; number of blocks 26: 27: movem.l d1-d7/a1,-(sp) ; save registers 28: 29: moveq.l #0,d1 ; zero them out 30: 31: moveq.l #0,d2 32: 33: moveq.l #0,d3 34: 35: moveq.l #0,d4 36: 37: moveq.l #0,d5 38: 39: moveq.l #0,d6 40: 41: moveq.l #0,d7 42: 43: move.l d1,a1 44: 45: subq.l #1,d0 ; adjust for dbra loop 46: 47: loop: 48: 49: movem.l d1-d7/a1,(a0) ; zero the memory, 32 bytes at a time 50: 51: movem.l d1-d7/a1,32(a0) 52: 53: movem.l d1-d7/a1,64(a0) 54: 55: movem.l d1-d7/a1,96(a0) 56: 57: movem.l d1-d7/a1,128(a0) 58: 59: movem.l d1-d7/a1,160(a0) 60: 61: movem.l d1-d7/a1,192(a0) 62: 63: movem.l d1-d7/a1,224(a0) 64: 65: lea 256(a0),a0 66: 67: dbra d0,loop 68: 69: ; 70: 71: movem.l (sp)+,d1-d7/a1 ; restore regs 72: 73: rts ; and leave 74: 75: END 76:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.