int 15h
ax=0e820h 用来获取内存信息ebx=0 int 15h每次会設它的值,来继续找下一个ARDS,我们要在首次调用是置0,以后注意不要对它操作。es:di int 15h会返回ARDS到es:di,所以我们要每次设定好,以使ARDS保存在我们想要保存的地方ecx=20 有些bios会根据ecx的值来填充es:di,有些则默认填充20,所以统一起见ecx=20edx=0534d4150h bios会使用此值来对信息校验设定好上述值然后调用中断就可以了如果我们想读出所有的内存信息只要通过循环每次di+20就可以,为了判断信息结束,要判断cf是否为1并且ebx=0.ARDS是一个数据结构,存储着一块地址的信息。它的结构如下偏移 意义0 基地址低32位4 基地址高32位8 长度低32位12 长度低32位16 类型 类型取值1表示可用ram 2表示正被使用或被保留,os不能使用。总是感觉表达不太好,可能还不太了解吧