0

int 12 でアセンブリのメモリ サイズを取得したいのですが、この割り込みを呼び出すと、639 しか返されません。639 とはどういう意味ですか? (整数から文字列に変換しました)

元:

  bits 16
  org 0x0

  start:
  int 12h;GET MEMORY TO AX (KB)
  mov bx,ax ;BX=AX
  call int_to_str ;IN:BX(INT)-OUT:BX(STRING)
  mov si,bx  ;SI=BX
  call print_string  ;PRINT SI
  mov ax,10h  ;KEY STROKE
  int 16h
  ret

このコードでは 639 しか返されません。まだわかりませんでした。助けてください。ありがとう!

4

1 に答える 1

0

INT 12h は、メモリの最初の 640KB のみを報告します。あなたのプログラムは 1 つの 1KB ブロックを占有していたので、639 を返しました。利用可能なメモリを取得するのは少し難しいです。詳しくはこちらをご覧ください

于 2013-08-06T15:00:45.307 に答える