丨游戏灬需要 发表于 2019-1-31 15:42:19

关于masm的2个问题

本帖最后由 丨游戏灬需要 于 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


行客 发表于 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/p/7518564.html?utm_source=debugrun&utm_medium=referral

jackz007 发表于 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 位编程环境下这个概念已经完全被废弃了。

丨游戏灬需要 发表于 2019-2-6 09:57:37

???

xtex 发表于 2019-2-10 15:29:21

我估计微软都会崩溃的,哪来的全部版本,又不是开源软件,没有git,谁有全部版本啊

happycjc 发表于 2019-2-11 16:13:38

看不懂???

丨游戏灬需要 发表于 2019-2-14 13:13:20

拿python来说 ,python有官网,直接去官网可以下载python并安装,但是汇编呢?用的masm去哪里下载?随便百度然后去到一大堆广告的网站去下载???
(:这是第一个问题)

而masm32,你百度直接出来,有所谓像官网一样的网站(也就是说没有masm的下载途径的问题),但用mov ax ,data 时会报错,怎么解决,能解决的话还问masm干嘛?我直接用masm32不就可以了?

丨游戏灬需要 发表于 2019-2-14 13:16:19

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

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

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

所以说这两个问题你一个都没回答明白……

丨游戏灬需要 发表于 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只能设置局部变量的位置大小),也可能还没学够吧)
页: [1]
查看完整版本: 关于masm的2个问题