汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。
我的 16 位 DOS 应用程序使用此代码通过 SMBUS 读取 SPD,但失败。 我期望从 MS DOS 读取 SPD EEPROM 的内容。 如何从 MS DOS 读取 RAM SPD EEPROM? 代码...
在重载模板类的构造函数内,我有以下 for 循环。原来的循环更复杂,但我删除了除 x 之外的所有有用的变量
我有一个二进制数,当我将其表示为十进制时,我需要知道该二进制数是否在该数字的任何位置有 0。 所以,我无法将其转换为字符串或类似的东西。 我需要这样...
是否可以知道/选择debian linux上的Risc-V汇编程序分配了哪些内存地址?
我是 RISC-V 汇编编程的初学者,我想知道是否可以决定(或至少知道)哪些内存地址(以及多少个)分配给程序? 我正在使用 Gnu
我找到了一些解决方案,但它不起作用。 我不确定我的发现是否真的可能。 在这部分代码中,我尝试进行更改: 莫夫·阿尔,[bx+si] 斧头 mov [bx+si], al 但当我看...
我正在为自定义裸机 ARM 系统编写静态分页设置。 ARMv7a 使用二级分页,其中顶级页表中的条目可以指向二级页表。我有一件上衣-
如果您尝试声明一个长度超过 512 个字符的数组,MASM 会发出错误: 错误 A2039:行太长 如何为 MASM 声明大数组?需要一个大阵,而不是几个小阵。 兄弟...
为什么现代编译器更喜欢 SSE 而不是 FPU 来进行单浮点运算
我最近尝试读取代码的二进制程序集,发现很多浮点运算是使用 XMM 寄存器和 SSE 指令完成的。例如,以下代码: 佛罗里达...
我正在为 x86 BIOS 开发引导加载程序。在我的第一阶段引导加载程序(MBR)中,我需要从磁盘读取2880个扇区(或更多),然后跳转到放置在第二个
我正在准备考试,我必须在没有计算机的情况下找到x86汇编程序的结果,特别是我对老师给我们的一个例子有疑问。 莫夫斧头,6326 或 EAX,0000FF...
我正在使用 nasm 汇编器学习汇编,在链接 .o 文件时遇到麻烦。几天来无法解决这个问题,也不明白出了什么问题。这是代码和命令: 教派...
为什么 Clang 只从 Sandy Bridge 开始执行此优化技巧?
我注意到 Clang 对以下代码片段做了一个有趣的除法优化技巧 int64_t s2(int64_t a, int64_t b) { 返回a/b; } 以下是指定 marc 时的汇编输出...
在SIC/XE架构中,执行DIV #0和DIVF #0指令后会发生什么? 其他架构如何处理被零除的情况?
只需使用堆栈指针+偏移量从 int 数组逐个求和来存储值,以使寄存器空闲。我非常乐意获得有关改进代码的建议。 在投资范围内...
我现在正在学习使用 SPIM 编写汇编代码来模拟 MIPS32 环境。阅读此处和其他地方的一些其他帖子,似乎某些 MIPS 环境支持 .include
如何启用 GDB/GEF 以允许我在插入离散输入时查看堆栈如何变化?
我试图通过 pwntools 和 gdb 来识别发生缓冲区溢出的偏移量。 这是 C 代码 (x64): 整数输入[8]; int 计数,数字; 计数=0; 同时(1) { printf("输入: &
为什么即使类没有虚方法,对成员函数指针的调用也会处理虚函数?
https://godbolt.org/z/W8b3TG5f6 结构体A { int __attribute__((noinline)) 调用(int a) { 返回 (this->*mfuncP)(a); } int __attribute__((noinline)) returnArg(int a) { ...
为什么即使类没有虚方法,指向成员函数的指针调用也会处理虚函数?
https://godbolt.org/z/W8b3TG5f6 结构体A { int __attribute__((noinline)) 调用(int a) { 返回 (this->*mfuncP)(a); } int __attribute__((noinline)) returnArg(int a) { ...
在阅读“逆向 - 逆向工程的秘密”时,我遇到了这段代码: 未知结构->成员1 = 0; UnknownStruct->Member3 = &UnknownStruct->Member2;
我正在研究x86-64 NASM,这是目前的情况: 这些代码仅用于教育目的,不适用于在面向客户的系统等上运行。 RCX 保存循环计数,介于 1 到 1000 之间。 一开始...