masm5.0怎么用32位寄存器????

星空Neo 2005-06-14 09:26:23
本人再做微机原理的课程设计
是一个录音放音程序
由于数据量比较大 想使用32位的寻址
请问怎么弄
看了有的地方说加个.386
可是编译后执行就死机
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2005-06-14
  • 打赏
  • 举报
回复
应该在 .386 之前加上 .model 语句的, 或者是用 option segment:use16 语句来说明使用的是 16 位段. 否则, 会以 32 来处理的. 而且, 最好用 Masm6x 的版本进行编译
zara 2005-06-14
  • 打赏
  • 举报
回复
啊, 楼上的说得对. 我就看着标题里的 32 位寄存器了. 楼主实际上是由于数据量大, 而需要使用超过 64K 的 dos 类段的大小限制吧. 这个, 就需要进保护模式了.
zkxz 2005-06-14
  • 打赏
  • 举报
回复
楼主,是想用32位寄存器还是32位寻址?两者可有很大差别的。

用32位寄存器是要在程序前面加个.386就可以了。
而要用32位寻址的话,加.386是肯定的了,还要讲代码切换到保护模式,去看看关于保护模式的资料吧!
zara 2005-06-14
  • 打赏
  • 举报
回复
只要是 dos16 类型的程序, 就不可用超过 64K 的.

.model flat 说明是 32 位的段类型, 这个不是 dos 所支持的, 应该是 Win32 类的程序使用的内存模式. dos 的, 可用用 .model tiny 或 .model small ....
星空Neo 2005-06-14
  • 打赏
  • 举报
回复
我用masm6.11
数据段定义可以超过64k吗
.modle具体怎么用
我写.modle flat 竟然编译失败

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧