Articles of masm

MASM在Linux下?

有没有一种方法,我在Linux下使用MASM 。 在Linux下,即使是困难的NASM也是非常stream行的,它在代码上的一些指令风格上依然不同。

如何知道MASM是使用相对还是绝对偏移来编码我的JMP指令?

如何知道MASM是使用相对还是绝对偏移来编码我的JMP指令? 我知道x86提供了相对和绝对偏移量的JMP操作码。 我想确定我的跳转是相对的,但我找不到任何正确的MASM文档,告诉我JMP @label是否实际上转换为相对跳转。 请尽可能在答案中提供文档链接。 相反的问题:请参阅如何在MASM中对绝对的JMP / CALL指令进行编码? 如果你试图让MASM发出一个直接绝对远的jmp

如何用汇编语言打印彩色string?

Jan db " January$ " string db "Sun Mon Tue Wed Thu Fri Sat$" string1 db " 1 2 3$" string2 db " 4 5 6 7 8 9 10$" string3 db "11 12 13 14 15 16 17$" string4 db "18 19 20 21 22 23 24$" string5 db "25 26 27 28 29 […]

用没有MASM的MinGW64构buildBoost

我试图使用MinGW64编译器构build原生64位的Boost库,但是出现了一些故障。 任何指针赞赏。 谢谢。 我得到了在64位(警告)编译的bjam.exe(b2.exe),我用它获得了build立的Boost。 构buildBoost.Context时,出现以下错误。 (我批量编写了可重复build筑的命令)。 我错过了什么? 命令:b2.exe install –prefix =%〜dp0 \ bld \ Boost.Build 错误:'ml64'不被识别为内部或外部命令,可操作程序或batch file。 我阅读文档,并说: Boost.Context必须针对特定的编译器和CPU架构进行构build。 Boost.Context包含汇编代码,因此需要支持POSIX系统的GNU AS和Windows系统的MASM。 那么,是否可以告诉bjam使用我的MinGW安装中包含的as.exe? (因为我有多个MinGW,位置不是标准的C:\ MinGW \ bin) 项目config.jam中 import option ; using gcc ; option.set keep-going : false ; 平台 Windows 7 x64 Boost 1.52.0(sourceforge源码) MinGW 4.7.2(rubenvb x64) 没有MSVC安装(没有ml64.exe安装/在我的机器中find) 安装WDK时发生编辑问题 build设BJam时发出警告 ,我认为可以忽略 function.c: In function 'check_alignment': […]

用MASM输出寄存器到控制台

我有一天学习ASM,我已经做了一些教程,甚至成功地修改了教程内容,以使用jmp和cmp等,而不是MASM .if和.whilemacros。 在决定继续学习更高级的教程之前,我决定尝试写一些非常简单的东西。 我在写斐波那契数字生成器。 这里是我迄今为止的来源: .386 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\masm32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\masm32.lib .code start: mov eax, 1 mov ecx, 1 _a: push eax add eax, ecx pop ecx ; Jump to _b if there is an overflow on eax ; Print Values Here jmp _a […]