汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。
这里的错误在哪里,正是在除法中,它返回输入x的值而不返回除法的结果 组织100 输入 存储x 输入 存储y / 求和 负载x 添加y 存储...
我们以这段代码为例: 。数据 消息:.asciiz“世界你好!” #要显示的消息 。文本 li $v0, 4 #字符串打印指令 la $a0, msg #指示
ARM 程序集具有用于进入“管理程序模式”的 SWI 和 SVC 指令。 让我困惑的是,为什么有两个?这里说SVC的前身是SWI。这是否意味着基本上...
修改输入参数或声明新变量并修改它是否更有效(或在其他方面更好)?
我有一个代码,正如你所看到的,我可以用以下两种方式之一编写,问题是唯一的区别是因为在第二个函数中参数被声明为非常量我可以使用它
我有一个代码,正如你所看到的,我可以用以下两种方式之一编写,问题是唯一的区别是因为在第二个函数中参数被声明为非常量我可以使用它
我尝试使用c实现一个简单的协程。 该平台是: M3 Pro MacBook Pro 16 苹果本机海湾合作委员会 macOS 14.3.1 这是我的代码: // main.c #包括 #包括 #
在intel平台上,BP用于指向堆栈帧的开头并访问参数[bp+0x??]和局部变量[bp-0x??]。 ARM中使用哪个寄存器?或者,是寻址
考虑这个 TU: 结构体 Foo { int 运算符()(int) const; }; int foo(Foo b) { 返回 b(17); } 它将编译为: 富(富): 子 rsp,24 莫夫ESI,17 莉亚·迪,[rsp+15] 打电话给 Foo::ope...
出于教育目的,我正在尝试在 Arduino UNO R4 minima 上编写纯汇编。我是在 Arduino IDE 中完成的。 我保留了 .ino 文件,只在里面留下了一条评论。我在 ...
当您在 x86 或 x86_64 中执行算术运算时,例如导致设置溢出标志或任何其他标志,设置的位是否会影响哪个寄存器的结果值...
如何在 Windows 的 x86_64 程序集中使用 printf 和 scanf?
该程序的目标是接收来自用户的 3 个参数和一个附加参数并求其总和。 我让它工作,以便它找到 3 个参数的总和并打印出总和......
我想在使用堆栈时对数组进行排序: 所以首先我把它全部推入堆栈。 然后我找到堆栈中的最小元素,将其与弹出它的顶部元素交换...
我正在尝试编写一个简单的程序,让用户使用键盘输入的_GetCh函数输入密码。我正在使用比较函数,以便用
我正在为我的STM32F0板编写一个迷你操作系统,该板具有基于ARMv6-M架构的Cortex-M0 CPU。 特别是,在为 sch 创建进程队列后,我正在执行 msp/psp 切换...
我应该做两个项目。第一个 a、b 和 c 是字节,第二个它们是 double 类型。 方程为a-(b-c:2)。 我已经成功做到了(我认为是双重类型): .型号小 .堆栈 10...
我正在学习一些汇编语言。我找到了解决 a^2-3b 的问题,其中 a>=0 且 b<=100. My initial algorithm was: mov bl 3b mov cl a sub cl, bl mov dl This is as far as I c...
x86-64 在线汇编,使用 IDE,例如 https://www.mycompiler.io/new/asm-x86_64
任何人都可以帮我编写与下面的程序等效的代码,以便它可以在 https://www.mycompiler.io/new/asm-x86_64 的在线 IDE 上运行吗? 我是一名老师,想向我的学生展示如此真实的工作
为什么在 ARM 汇编中对常量使用 LDR 而不是 MOV(反之亦然)?
我正在浏览一个教程(旧网址的archive.org)。 第一道装配线是: ldr r0,=0x20200000 第二个是: 移动 r1,#1 我以为 ldr 是为了将内存中的值加载到寄存器中......
我一直在尝试阅读 ARM 手册以了解 ARM 在架构上的工作原理。我知道每个EL都有一个SP的系统寄存器,比如SP_EL0,SP_EL1等......
这个 RSB 指令对额外的 LSL #1 操作数有什么作用?
我想弄清楚这条 ARM 装配线是做什么的: RSB r1、r2、r3、LSL #1 我指的是 Keil 帮助页面中的 RSB 描述,但这个示例不太适合,因为它有更多操作数...