【问题标题】:Get Memory Size With INT 12使用 INT 12 获取内存大小
【发布时间】:2013-08-06 14:56:38
【问题描述】:

我想用 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。我还不明白。请帮忙。谢谢!

【问题讨论】:

    标签: memory kernel nasm interrupt


    【解决方案1】:

    INT 12h 只报告前 640KB 的内存。您的程序占用了一个 1KB 块,因此它返回 639。获取可用内存有点棘手。详情见here

    【讨论】:

    猜你喜欢
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多