I've tried to make switch case like this:
switch (si)
{
case 1:
printf( “Number One” );
break;
case 2:
printf( “Number Two” );
break;
case 3:
printf( “Number Three” );
break;
case 4:
printf( “Number Four” );
break;
}
In assembly 8086 with branch table/jump table:
enter code here
org 100h
mov si,1
mov bx,10
sub si,1
add si,si
mov bx,[bx+si]
jmp bx
address:
dw 14 Case1
dw 17 Case2
dw 21 Case3
dw 24 Case4
Case1: PRINTN "Number One"
jmp End
Case2: PRINTN "Number Two"
jmp End
Case3: PRINTN "Number Three"
jmp End
Case4: PRINTN "Number Four"
End:
mov ah, 0
int 16h
ret
The PRINTN is like printf in C.
My code doesn't work and I don't know why...
What I'm doing wrong?