回 帖 发 新 帖 刷新版面

主题:谁能赐教

谁能赐教,这是什么错误:
    ERROR,CHIPRUN.ASM CODE SIZE TOO LARGE
CHIPRUN.ASM :ERROR A2052:FORCED ERROR
NMAKE:FATAL ERROR L1077:‘MASM’RETURN CODE ‘1’

源代码出现位置:
IF2
    IF (($ - Ct_Very_Early_Init) GT (0f80bh-0f600h))
        %OUT ERROR, CHIPRUN.ASM code size too large
        .ERR
    ENDIF
ENDIF

回复列表 (共8个回复)

沙发

就是说你写的代码太长了,超出了预定的范围。
有空还是学点基础的先把,程序是一步步学的。

板凳

好象不是阁下说的那样,我查了些资料,“ERROR, CHIPRUN.ASM code size too large”根本就不是汇编程序的错误提示,而是,源代码中的“(($ - Ct_Very_Early_Init) GT (0f80bh-0f600h))”表达式满足了条件,把“ERROR, CHIPRUN.ASM code size too large”的错误提示照搬过来。
再说了是AWARD  BIOS公司的源代码,不应该有错,只能是开发软件的版本不兼容或别的原因。

3 楼

我想“(($ - Ct_Very_Early_Init) GT (0f80bh-0f600h))”这个表达式的意思是:
程序要把Ct_Very_Early_Init到当前位置的代码copy到内存0f600h-0f80bh的位置.

4 楼

谢谢!能否说得具体些,怎样排除此错?
另外您提供的网页几次都打不开,况且这是主板一级的程序,根本无法在WINDOWS下运行,而网上的资料却几乎全是WINDOWS下编程。

5 楼

排错就要靠你自己了,我现在也挺忙的.
如果要搞BOIS,给几点建议:
VMWARE VMWARE有一个文件:可以保存内存的内存二进制内容
UltraEdit 这个软件可以以二进制的形式查看任何的文件,可以自己观察EXE文件的结构是怎么样的,也可以查看上面VMWARE的内存文件.
自己写一个基本的基于BOIS汇编I/O库.
自己写一个最基本的引导程序,在VMware下建立一个最基本的平台.

还有,上面的教程我换了个下载地址了.

6 楼

IF2
    IF (($ - Ct_Very_Early_Init) GT (0f80bh-0f600h))
        %OUT ERROR, CHIPRUN.ASM code size too large
        .ERR
    ENDIF
ENDIF

如果 (当前地址 - 一个符号地址) > 20bh   ;(0f80bh-0f600h=20bh)
    那么输出错误消息:"CHIPRUN.ASM code size too large"
                     ;chiprun.asm 代码尺寸太大
    .err    ;产生一个错误

看样子这段代码对体积有要求,不能大于20bh个字节

7 楼

嘿嘿.你的是什么程序呀
BIOS吗
厉害.没有看懂
学习汇编中。.兴趣中

8 楼

多谢!这是AWARD  BIOS 公司的源代码,对它没有进行任何改动,只是对其中的 CHIPRUN.ASM 打开后,在重新存一下盘,怎么会出错呢?
下载地址:http://purec.binghua.com/viewthread.php?tid=2421&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D14
    执行其中的 BIOS.BAT *  即可完成整个汇编连接等,另外.err是个什么东西?8086/8088的指令和伪指令表都没有.

我来回复

您尚未登录,请登录后再回复。点此登录或注册