Memory 使用INT 12获取内存大小

Memory 使用INT 12获取内存大小,memory,kernel,nasm,interrupt,Memory,Kernel,Nasm,Interrupt,我想用int 12获得汇编中的内存大小,但当我调用这个中断时,它只给出639。639是什么意思?(I从整数转换为字符串) 例: 这个代码只给出了639。我还不明白。请帮忙。谢谢 INT 12h仅报告前640KB内存。您的程序占用了一个1KB的块,因此返回639。获取可用内存有点棘手。有关详细信息,请参见。在我的答案()中提供的链接中,列出了确切的步骤。请调查一下。 bits 16 org 0x0 start: int 12h;GET MEMORY TO AX (KB) mo

我想用int 12获得汇编中的内存大小,但当我调用这个中断时,它只给出639。639是什么意思?(I从整数转换为字符串)

例:


这个代码只给出了639。我还不明白。请帮忙。谢谢

INT 12h仅报告前640KB内存。您的程序占用了一个1KB的块,因此返回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