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 的内存。您的程序占用了一个 1KB 块,因此它返回 639。获取可用内存有点棘手。有关详细信息,请参见此处

于 2013-08-06T15:00:45.307 回答