.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 .extern ECASE .extern .fat mov ax,ECASE push ax jmp .fat 2: jmp bx