ia-32

    1热度

    1回答

    我在研究IA32。当我想到什么popl DEST指令是做我认为以下几点: movl (%esp), DEST addl $4, %esp 但后来我开始的第二个猜测自己,当我想到popl %esp。尽管这可能是一个毫无意义的指令,但我认为可能有更好的方法去思考一般描述popl DEST指令。你会如何描述它?

    5热度

    3回答

    处理器在IA-32架构上发送内部处理器中断到自己的目的是什么? 根据英特尔IA-32架构软件开发人员手册,卷。 3,Ch。 10.1: IPI用于软件自我中断,中断转发或抢先调度。 但是,如果处理器也可以用INT指令中断自己,为什么还要使用自IPI?这个功能似乎是多余的。

    7热度

    2回答

    我正在开发一个具有严格启动时间要求的项目。目标架构是一个基于IA-32的处理器,运行在32位保护模式下。确定可以改进的一个领域是当前系统动态初始化处理器的IDT(中断描述符表)。由于我们没有任何即插即用设备,并且系统相对静态,因此我希望能够使用静态构建的IDT。 但是,由于8字节的中断门描述符拆分了ISR地址,这对IA-32拱门来说很麻烦。 ISR的低16位出现在描述符的前2个字节中,其他一些位填

    1热度

    1回答

    我有一个在IA32上由gcc编译的二进制可执行文件。它最初是用C编码的。我希望能够通过并调试它。我可以运行objdump并将其扫描到要读取的文件中。 objdump -d mybinary > mytext.txt 我希望能够逐步通过我可以通过objdump看到的组装线。我已经使用了一点gdb,我希望能够在objdump的输出上运行gdb。这是可能的还是有一个很好的方法来做到这一点?我脑海中想

    1热度

    1回答

    我对程序集完全陌生,在将值分配给我的二维“数组”时遇到了问题。我的阵列是一个名为screen的.space,并且分配了HEIGHT * WIDTH * 4,所以有足够的空间。我知道这是因为在发出下面的命令之前,我循环访问数组,并将所有值设置为0,并通过打印出所有值来验证它。)下面的命令只包含0值(我知道这是因为在发出以下命令之前,我循环遍历数组并将所有值设置为0,并通过打印出所有值进行验证)。 这

    3热度

    1回答

    我想知道英特尔IA-32架构的基本数据类型是什么。我知道其中四个字节(8位),字(16位),双字(32位)和四字(64位)。还有其他人吗?

    0热度

    1回答

    我一直致力于学校的二进制炸弹,而且我在第五阶段绝对失去了作业的目的是为了消除代码并找到一个字符串,我发现它是“传单“并反向工程,使其具有与”传单“相同的数值。但是,我花了最近3-4小时试图找出如何做到这一点?您不必提供答案,但请帮助我了解我需要做什么。下面是反汇编代码用gdb: Dump of assembler code for function phase_5: 0x08048d88 <+0

    0热度

    1回答

    这行在下面的代码中做了什么? 0x0804840c <+3>: mov 0x8(%ebp),%edx 我知道MOV%×,%Y移动值章%X%到Y,但8从未被设置为任何栈偏移,所以我不知道什么是被移到%EDX。我真的很陌生,我完全迷失了方向。 (IA32 Assembly) 0x08048409 <+0>: push %ebp 0x0804840a <+1>: mov %e

    0热度

    1回答

    我编写了IA32的以下汇编脚本。它应该从stdin中读取一个数字,将其增加并将其输出到stdout,但它不像预期的那样工作,它不会打印任何东西(也许stdin的读取不会终止,或者打印出来的东西是错误的?) .section .text .globl _start _start: movl $3, %eax # use syscall 3 (read) to read fr

    0热度

    1回答

    我正试图在Mac OS X Montain Lion上遵循专业汇编语言。 在谷歌,我发现了Mac OS X的一个端口在以下网址:Assembly on MacOS X 创建用Vim文件并用气相编译它: 为-g -arch i386的-o cpuid.o cpuid.s 链接的代码使用gcc: gcc -m32 -arch i386 -o cpuid cpuid.o 生成的可执行文件cpuid,运行