-5

私はこのようなスイッチケースを作ろうとしました:

 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;
 }

ブランチ テーブル/ジャンプ テーブルを含むアセンブリ 8086 の場合:

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

PRINTN は C の printf のようなものです。

コードが機能せず、その理由がわかりません...

私が間違っていることは何ですか?

4

1 に答える 1