| plan 9 kernel history: overview | file list | diff list |
1992/1110/pc/l.s (diff list | history)
| 1992/1110/sys/src/9/pc/l.s:659,664 – 1992/1111/sys/src/9/pc/l.s:659,665 (short | long | prev | next) | ||
|
XXX more vga crap
rsc Fri Mar 4 12:44:25 2005 | ||
| 1992/1108 | * same as l0update but for ldepth 1 (2 bit plane) screens */ TEXT l1update(SB),$0 | |
| 1992/1111 | XORL AX,AX | |
| 1992/1108 | MOVL from+0(FP),SI MOVL to+4(FP),DI MOVL len+8(FP),CX | |
| 1992/1110/sys/src/9/pc/l.s:665,683 – 1992/1111/sys/src/9/pc/l.s:666,743 | ||
| 1992/1109 | MOVB $(Smmask),AL | |
| 1992/1108 | MOVW $(SRX),DX OUTB | |
| 1992/1109 | l10: | |
| 1992/1111 | MOVL -4(SI)(CX*2),DX MOVB DL,AL MOVL l1revsep(SB)(AX*4),BX SHLL $4,BX RORL $8,DX MOVB DL,AL ORL l1revsep(SB)(AX*4),BX RORL $12,BX RORL $8,DX MOVB DL,AL ORL l1revsep(SB)(AX*4),BX SHLL $4,BX RORL $8,DX MOVB DL,AL ORL l1revsep(SB)(AX*4),BX ROLL $8,BX MOVW $(SR),DX MOVB $0x5,AL /* write lo order bits to bit planes 1 & 3 */ OUTB MOVW BX,-2(DI)(CX*1) SHRL $16,BX /* write hi order bits to bit planes 1 & 3 */ MOVB $0xA,AL OUTB MOVW BX,-2(DI)(CX*1) LOOP l11 RET l11: LOOP l10 RET /* * same as l0update but for ldepth 2 (4 bit plane) screens */ TEXT l2update(SB),$0 | |
| 1992/1109 | XORL AX,AX | |
| 1992/1111 | MOVL from+0(FP),SI MOVL to+4(FP),DI MOVL len+8(FP),CX MOVB $(Smmask),AL MOVW $(SRX),DX | |
| 1992/1108 | OUTB | |
| 1992/1109 |
| |
| 1992/1111 | l20: MOVL -4(SI)(CX*4),DX MOVB DL,AL MOVL l2revsep(SB)(AX*4),BX SHLL $2,BX SHRL $8,DX MOVB DL,AL ORL l2revsep(SB)(AX*4),BX SHLL $2,BX SHRL $8,DX MOVB DL,AL ORL l2revsep(SB)(AX*4),BX SHLL $2,BX SHRL $8,DX MOVB DL,AL ORL l2revsep(SB)(AX*4),BX MOVW $(SR),DX MOVB $0x1,AL /* plane 3 */ | |
| 1992/1108 | OUTB | |
| 1992/1111 | MOVB BX,-1(DI)(CX*1) MOVB $0x2,AL /* plane 2 */ OUTB SHRL $8,BX MOVB BX,-1(DI)(CX*1) MOVB $0x4,AL /* plane 1 */ OUTB SHRL $8,BX MOVB BX,-1(DI)(CX*1) MOVB $0x8,AL /* plane 0*/ OUTB SHRL $8,BX MOVB BX,-1(DI)(CX*1) LOOP l20 | |
| 1992/1107 | RET | |