鱼C论坛

 找回密码
 立即注册
查看: 4660|回复: 8

关于masm的2个问题

[复制链接]
发表于 2019-1-31 15:42:19 | 显示全部楼层 |阅读模式
35鱼币
本帖最后由 丨游戏灬需要 于 2019-1-31 16:50 编辑

1 ,masm(全部版本)怎么‘官方’下载?有什么稳定下载途径么?

2 ,masm32 (因为masm32有稳定下载途径),怎么挂钩段?例如:
data segment
        a :
        db '123'                ;这样就可以编译了 ,视频太久了!!!!
data ends

code segment
        _start :                        ;此处默认用32的语法 ,反正masm也一样可以编译 ,32不这样会报错

        mov ax ,data                ;此处32就一定会报错 说: error A2004: symbol type conflict(错误A2004:符号类型冲突)       
                                        ;在换成data.8086 就变成 :structure field expected(结构领域的预期)

        mov ds ,ax

code ends
end _start


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-31 17:11:46 | 显示全部楼层
建议你换一个ASM环境。建议使用RadASM。参考:
1、在64位系统下,使用 RadASM IDE 写 32 位及 16 位的汇编程序 https://blog.csdn.net/Alisebeast/article/details/79868992
2、32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 https://www.cnblogs.com/iBinary/ ... utm_medium=referral
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-31 22:59:54 | 显示全部楼层
本帖最后由 jackz007 于 2019-2-1 02:20 编辑

        1. Masm 的全部版本,难道楼主是收藏家吗?要不麻烦楼主列一下自己所说的 “全部版本” 的具体版本号先?这个要求估计连微软官方都会崩溃的。要是我的话,就找差不多最后那个版本,功能够用就可以了,难道不是吗?

        2. Segment : Offset 这种表达是因为 8086 CPU 地址总线是 20 位,而数据总线却是 16 位的,由于单个 16 位的 word 无法完整表达 20 位的地址,所以才用了 2 个 word,也就是 段 + 偏移 的形式来进行表达,在 32 位编程环境下这个概念已经完全被废弃了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-6 09:57:37 | 显示全部楼层
???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-10 15:29:21 | 显示全部楼层
我估计微软都会崩溃的,哪来的全部版本,又不是开源软件,没有git,谁有全部版本啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-11 16:13:38 | 显示全部楼层
看不懂???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-14 13:13:20 | 显示全部楼层
拿python来说 ,python有官网,直接去官网可以下载python并安装,但是汇编呢?用的masm去哪里下载?随便百度然后去到一大堆广告的网站去下载???
(:这是第一个问题)

而masm32,你百度直接出来,有所谓像官网一样的网站(也就是说没有masm的下载途径的问题),但用mov ax ,data 时会报错,怎么解决,能解决的话还问masm干嘛?我直接用masm32不就可以了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-2-14 13:16:19 | 显示全部楼层
jackz007 发表于 2019-1-31 22:59
1. Masm 的全部版本,难道楼主是收藏家吗?要不麻烦楼主列一下自己所说的 “全部版本” 的具体版本 ...

第一个问题是masm的稳定下载途径在哪?说明全部版本是因为视频有说明有时用低版本的好编译

第二个问题是怎么用 masm32 让 mov ax ,data 不报错,或者怎么可以造成同样的效果并且可以编译

所以说这两个问题你一个都没回答明白……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-3-4 21:46:00 | 显示全部楼层
本帖最后由 丨游戏灬需要 于 2019-3-4 21:48 编辑

学了4分之1的win32.大概可以解决现在这问题
1 ,没有masm是因为,masm32就是编译Windows的masm,只不过,masm32是要用它自己的汇编语法来编译,所以现在masm32就是了
2 ,要想找到数据位置(因为挂钩ds段就是为了找到那个标号的位置) ,变成了直接使用标号或变量名了,也就说没有了ds这些段.

(不过讲真,masm的语法真比masm32方便,要不是masm编译的exe不能在Windows上运行,真就找masm来用了,masm32在代码上比masm的限制要感觉多,masm感觉要更自由点(例如制作子程序masm可以在子程序里直接设置默认值(设置指定值的局部变量 ,做法为在代码里像在数据段上定义值时一样定义,然后开头跳到运行代码),而masm32只能设置局部变量的位置大小),也可能还没学够吧)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 09:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表