在 x86 程序集中将寄存器设置为零的最佳方法是什么:xor、mov 或 and?

本文介绍了在 x86 程序集中将寄存器设置为零的最佳方法是什么:xor、mov 或 and?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 以下所有指令都做同样的事情:将 %eax 设置为零.哪种方式是最佳的(需要最少的机器周期)?xorl %eax, %eax移动 $0, %eax还有 $0, %eax 解决方案 TL;DR 总结:xor same, ...

使用python读取硬件中的寄存器

本文介绍了使用python读取硬件中的寄存器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我的目标是使用python脚本读取FPGA上的一些寄存器。 我已经在硬件(FPGA)上实现了一些寄存器,我试图读取这些寄存器。C中有一些程序能够读取这些寄存器。但是我必须用python编写读/写程序,以便可以将其与我的验证环境(用python编写)集成。我是pyt...

修改控制寄存器内核模块中

本文介绍了修改控制寄存器内核模块中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 下面这个简单的内核模块设置CR4寄存器的第13位( CR4.VMXE ),一旦它被加载并清除在退出该位。The following simple kernel module sets the 13th bit of the cr4 register (CR4.VMXE) ...

为什么不MS-DOS初始化DS和ES寄存器

本文介绍了为什么不MS-DOS初始化DS和ES寄存器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 为什么 DS的初始化和 ES 寄存器已手动由程序员完成? Why does the initialization of the DS and ES registers has to be done manually by the programmer? ...

[MASM]另一个“无法使用具有32位地址的16位寄存器"错误

本文介绍了[MASM]另一个“无法使用具有32位地址的16位寄存器"错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在使用MASM汇编器学习汇编语言,当我尝试使用此命令来汇编简单文件时,我被卡住了:ml /c test.asmtest.asm文件看起来像:I'm learning assembly language with MASM ass...

想要将变量中的值保存到寄存器

本文介绍了想要将变量中的值保存到寄存器中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在使用MASM编译器和DOSBOX.我想将变量中的值保存到寄存器中.我想将num1值保存到cx寄存器中.我该怎么办?I m using MASM compilor and DOSBOX. I want to Want to save value from a v...

将两个字符串打印到寄存器

本文介绍了将两个字符串打印到寄存器中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 如果尝试执行以下操作,我会不断收到错误消息:I keep getting an error if I try to do the following:TITLE (Filename.asm) INCLUDE Irvine32.inc .data name BYTE "...

如何使用重复的字节值填充 64 位寄存器

本文介绍了如何使用重复的字节值填充 64 位寄存器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我正在使用 Visual C++ 2010 和 masm(快速调用"调用约定)进行一些 x64 汇编.I'm doing some x64 assembly with Visual C++ 2010 and masm ('fast call' callin...

使用MOV助记符将字符串加载/复制到MASM中的内存寄存器时,字符是否以相反顺序存储?

本文介绍了使用MOV助记符将字符串加载/复制到MASM中的内存寄存器时,字符是否以相反顺序存储?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我想知道是否使用MOV指令将字符串复制到寄存器中是否导致该字符串以相反的顺序存储.我了解到,当MASM将字符串存储到定义为单词或更高(dw和更大尺寸)的变量中时,该字符串以相反的顺序存储.当我将字符串复制到寄存器...

为什么 ARM gcc 在函数开始时将寄存器 r3 和 lr 压入堆栈?

什么它用12来代替sp,堆栈是8字节对齐的,它可以用4来代替吗? 解决方案根据标准 ARM Embedded ABI,r0 到 r3 用于将参数传递给函数,以及其返回值,同时lr(又名:r14)是链接寄存器,其目的是保存函数的返回地址.很明显必须保存 lr,否则 main() 将无法返回给它的调用者.现在臭名昭著的是,每条 ARM 指令都需要 32 位,正如您提到的,ARM 的调用堆栈对齐要求是 8 字...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.020773(s)
2024-10-16 16:49:31 1729068571