这是我一直想弄清楚的事情。 我想制作一个具有自定义结构和这些结构数组的 MASM 程序,然后将其保存到文件中。 我找不到任何关于如何/可以如何完成的好信息。 我认为 resb 半指令可能会有所帮助。 无论如何,这就是我到目前为止所做的,但显然遇到了麻烦。 基本上从长远来看,我想制作一个简单的类似 ...
这是我一直想弄清楚的事情。 我想制作一个具有自定义结构和这些结构数组的 MASM 程序,然后将其保存到文件中。 我找不到任何关于如何/可以如何完成的好信息。 我认为 resb 半指令可能会有所帮助。 无论如何,这就是我到目前为止所做的,但显然遇到了麻烦。 基本上从长远来看,我想制作一个简单的类似 ...
是否有任何汇编指令来对齐特定的堆栈数据变量? 例如,假设 MASM function 具有这些具有初始值的局部变量 memory 堆栈具有此布局,但请注意endStack未对齐 为了对齐endStack ,我尝试将局部变量与 alignment pad[4]混合在一起 正确对齐endStack ...
我在 x64 Windows 操作系统中使用 MASM。 我想调用 Windows API,然后调用 output 一些字符串到屏幕。 我正在学习 Windows 操作系统中的 x64 汇编编程。 今天我想将一些结果打印到控制台。 然而,与 linux 操作系统不同的是,在 windows 中我们 ...
伙计们,这是我在网上找到的一个基本的 win32 程序,到目前为止我确实得到了所有东西。 我没有得到的是这两行: 有人可以向我解释他们做什么,以及是否有另一种方法可以使用另一条指令来完成他们所做的一切。 我尝试使用谷歌和其他文档,他们很好地解释了 push 和 pop 指令,但我无法在这个程序的上下 ...
最近遇到了遗留的 0x66 操作数大小覆盖。 是否可以在不显式编写单字节/多字节NOP 指令的情况下用于对齐指令? 例如添加align 16指令 生成此反汇编 删除align 16并在mov rax,1前面加上重复的 0x66 忽略字节 生成此反汇编 0x66 alignment 技术是否有效且 ...
我正在使用 MASM & Irvine32 编写基本的 ASM 代码。 代码是明智地输入字符,用户输入他想输入的字符数,循环运行那么多次。 该过程只接受字母。 如果按下 num 或其他内容,则显示拒绝的消息。 如果 ecx == 0(用户输入的数字),则返回 Main(调用函数)。 现在我 ...
使用这个 externdef 关键字创建了一个包含文件 num.inc 创建了一个定义 10 字节数组并包含 num.inc 的程序集文件数值.asm 创建了一个打印 MyByteArray 大小的程序集文件 abs.asm 上面的文件是用下面的这些命令组装和链接的绝对蝙蝠 一切都很好,但是,当运 ...
我有一个问题要解决,但我不知道该怎么做。 我正在询问有关如何解决此问题的一般想法。 我在 ESI 中有一个内存地址。 Memory 表示某种简化的 ASCII 编码,其中 5 位,一个接一个表示一个特定的字符。 内存以五位结尾 - 00000b。 为了转换为正常的 8 位 ASCII,必须将 60 ...
编写并运行一个程序,添加 5 个字节的数据并保存结果。 数据应为以下十六进制数:25、12、15、IF 和 2B。 显示程序和output的快照。程序的开头给出: 我无法获得十六进制的 output。 我已经尝试过这段代码,但仍然无法获得我想要的 output: ...
我的程序应该打印给定数字的最大质因数。 我正朝着正确的方向前进吗? 截至目前,该程序只是挂起并且不打印任何内容。 我是否遗漏了任何不退出检查最大质因数的循环的东西? ...
外部定义定义一个或多个名为name的外部变量、标签或符号,其类型为type 。 句法 EXTERNDEF名称:类型如果在模块中定义了名称,则将其视为 PUBLIC。 如果在模块中引用了名称,则将其视为 EXTERN。 如果未引用名称,则忽略它。 类型可以是ABS ,它将名称作为常量导入。 通常用于 ...
我正在处理一个装配练习题,我需要使用INT 10h在屏幕上绘制 y=2x^2 。 我已经完成了我的代码,但它在汇编时给我一个错误: A2155 cannot use 16-bit register with a 32-bit address error on line 27 (it's marked ...
这是我的两个文件的简化版本: 宏.asm: 主要汇编程序: 构建时出现错误: 我尝试了什么:我已经将项目属性中的入口点更改为 main,但是我得到了与 _main 而不是 _mainCRTStartup 相同的错误。 当我将主过程更改为命名为 _main 时,我仍然收到此错误。 我尝试更改包含路径 ...
我在masm 8086汇编语言上画砖,想知道有没有返回屏幕像素值的指令。 ...
为什么我的 asm 程序会出现这个问题? 第 10 行中的“语法错误:db” 第 11 行中的“语法错误:db” 我想运行我的 asm 程序,但我明白了。 ...
您好,我有一个关于乘以寄存器对的问题。 我有一个寄存器对 edx:eax,现在我想将它乘以 10。结果的最大值不会高于 64 位上的最大值,因此不会发生溢出。 我怎么go一下这个? ...
我在学校的作业是遍历字符串中的一系列字符并交换它们,以便最终结果是原始字符串的反向。 我已经编写了 3 个汇编函数和一个 cpp function 但是在下面的 function 上,当我尝试运行该程序时出现了一些错误,我不确定如何修复它。 我将在下面发布 cpp 代码和汇编代码,并指出错误,如果有 ...
我正在尝试掌握 class 的程序集。所以对于这个 C 代码: *** 更新我在大会上试过这个: 但我知道指针不能像那样简单地被引用和加在一起。 我们也不能使用lea ,所以我不知道如何将取消引用的值添加到 Assembly 中的另一个取消引用的值; 我也不确定如何正确转换 printf 语句。 ...
int array_list[] = {10, 11, 13, 18, 21, 23, 24, 17, 45}; int array_size = sizeof array_list / sizeof 样本; 整数索引 = 0; // while 循环的索引整数总和= 0; // 累加结果 ...