assembly 相关问题

汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。

代码不会停止执行

嗨,我有这个代码,不会停止执行我不知道为什么。有什么建议? LEA R1,SOURCE LEA R2,DEST LOOP:LDR R0,R1,#0 STR R2,R0,#0 BRz DONE ADD R1,R1,#1 ADD R2,R2,#1 BRnzp ...

回答 1 投票 0

如果我优化大小而不是速度,为什么GCC会生成15-20%的代码?

我在2009年首先注意到GCC(至少在我的项目和我的机器上)如果我优化尺寸(-Os)而不是速度(-O2或-O3),我倾向于生成明显更快的代码,而我... 。

回答 6 投票 411

GCC扩展了Asm - 了解clobbers和scratch register的用法

从GCC关于扩展ASM的文档 - Clobbers和Scratch Registers我发现很难理解以下解释和示例:这是一个虚构的平方和...

回答 1 投票 4

如何在SysInit._InitExe调用之前放置代码?

我把asm INT 3结束了;在我主要程序的第一行。程序Project1;使用'Unit1.pas'{Form1}中的Form,Unit1; {$ R * .res}开始asm INT 3结束;在Application.Initialize; ...

回答 2 投票 1

使用GDB for NASM程序集中断本地标签

我想使用GDB打破NASM汇编代码中的本地标签。发出以下命令将产生输出:(gdb)break * start.label1 + 217尝试提取值的组件...

回答 1 投票 2

选项Rom代码无法使用Qemu Emulation打印预期的字符串

一直试图测试一个简单的ISA Option Rom程序,该程序使用FASM或NASM编译,只打印出一个简单的“Hello World”消息。问题是而不是正在打印的字符串我得到了...

回答 2 投票 1

在单CPU指令中可以在0和1之间翻转位/整数/布尔值的任何可能代码

单个x86指令可以在“0”和“1”之间切换布尔值吗?我想到了以下方法,但都导致了两个指令与-cc标志的gcc。 status =!状态; status = 1 - 状态; ...

回答 3 投票 1

如何在16位模式下使用GDB?

我有以下代码,我试图实现一个使用BIOS函数打印字符串的函数:int printString(char * string){int i = 0; while(*(string + i)!='\ 0'){...

回答 2 投票 4

如何执行MIPSEB-LE ECOFF可执行文件?

我在隐写术挑战的一部分中提取了一个我发现是MIPSEB-LE ECOFF可执行文件的文件。当我运行“文件可执行文件”时,我得到“executablefile:MIPSEB-LE ECOFF可执行文件...

回答 1 投票 2

装配 - 独立标签有什么作用?

独立标签在汇编语言中的作用(通常)是什么。以下是8080汇编代码的摘录。标签FNDLP是否与FL1相同? FNDNXT是否指的是......

回答 1 投票 2

链接asm代码时出错

我用汇编语言编写了一个简单的程序,它只是在Windows 7中显示一个消息框32位.386 .model flat,stdcall选项casemap:none extrn MessageBoxA @ 16:PROC extrn ExitProcess @ ...

回答 2 投票 0

使用C程序编译ASM文件的命令[重复]

使用à64Linux系统并使用NASM。我正在尝试将我的ASM(hello.asm)文件与C文件(main.c)链接并编译为执行文件。我创建了一个ASM文件,用printf打印“Hello”...

回答 1 投票 4

为什么我得到“popq%rbp”而不是“离开”? [重复]

我没看到我做错了什么,这是我的C代码:main(){int i = 0; if(i == 0)i ++;返回0;用gcc -S test.c编译我期待“离开”而不是“popq%rbp”。 .L2:......

回答 2 投票 1

添加新代码(从未运行)的内核中断

我试图在用户空间和内核空间之间的边界添加一些逻辑,特别是在ARM体系结构上。一个这样的边界似乎是在arch / arm /中实现的vector_swi例程...

回答 1 投票 3

如何用LKM挂断中断门

我正在研究做rootkit。我正在尝试使用LKM挂接门中断4,处理VirtualBox。但是当我触发门时,VM会冻结。挂钩和脱钩似乎工作,但......

回答 1 投票 0

装配ADC(随附进位)到C ++

有一个汇编指令ADC。我发现这意味着“随身携带”。但我不知道这意味着什么。或者如何用C ++编写这个指令。我知道它与ADD不同。所以......

回答 6 投票 15

从编译器asm输出反向设计数组维度/结构布局?

在此代码中,A和B是使用#define定义的常量。 A和B的值是多少? typedef struct {int x [A] [B];长y; } str1; typedef struct {char array [B]; int t; ...

回答 1 投票 2

在MIPS中存储用户输入

我正在尝试在MIPS程序集中编写一个程序,它只是提示用户输入他们的名字,然后将他们的名字打印回来。到目前为止,我的代码是#Program,满足COS250的要求......

回答 2 投票 0

如何在程序集中创建计时器或计数器?

我在想计算机通过使用CMOS电池来节省时间。它通过计算电池产生的每秒脉冲数来保持时间,一个计数器。我的困惑是一个模块究竟是怎样的......

回答 1 投票 -2

需要从MASM转换到NASM

附加文件:文件dosbox_003.png(5.722 KB)编写一个NASM,它将:在一行显示您的名字。 (使用int 21h,函数9.回车符和换行符是0Dh和0Ah,...

回答 1 投票 -4

© www.soinside.com 2019 - 2024. All rights reserved.