minix/lib/i86/em/em_csa4.s
2009-11-09 10:26:00 +00:00

30 lines
494 B
ArmAsm

.sect .text; .sect .rom; .sect .data; .sect .bss
.define .csa4
.sect .text
.csa4:
! bx, descriptor address
! ax, dx: index
mov cx,(bx) ! default
sub ax,2(bx)
! ignore high order word; if non-zero, the
! case descriptor would not fit anyway
cmp ax,6(bx)
ja 1f
2:
sal ax,#1
add bx,ax
mov bx,10(bx)
test bx,bx
jnz 2f
1:
mov bx,cx
test bx,bx
jnz 2f
ECASE = 20
.extern .fat
mov ax,#ECASE
push ax
jmp .fat
2:
jmp (bx)