gpt4 book ai didi

assembly - Insight 调试器在寄存器中显示错误值

转载 作者:行者123 更新时间:2023-12-03 17:39:09 25 4
gpt4 key购买 nike

我在 64 位 Mac-to-Linux 计算机上使用 Insight 调试器。

它告诉我 mov ebx, 1739 的结果在 EBX 中是 0xcc00cccb。 EAX 按预期获得 0x1bf,但乘法结果也很奇怪(当它应该适合 32 位寄存器时)。

global  _start          

_start:

nop

mov eax, 447
mov ebx, 1739
mul ebx

nop

请有人告诉我这是怎么回事。我什至不能声明一个数据字节字符串,如果没有它在高阶半字节中添加几个 c 到任何 mov 或 mul 指令产生的任何十六进制的类似效果,无论哪个寄存器首先声明。我使用 NASM 汇编器。

编辑:我要组装和链接的两个终端条目是:
nasm -f elf -g -F stabs test.asm -l test.lst
ld -o test test.o -melf_i386

最佳答案

事实证明,对于可能正在运行 Ubuntu 16.04 LTS 的任何人来说,如果您尝试通过博客文章中建议的方法“取回”已从该 Ubuntu 的默认应用程序集中删除的 Insight:
http://www.dalfonso.co/blog/2016/04/23/setting-insight-debugger-on-ubuntu-16-04-lts/ ,您实际上不会得到您希望的应用程序。它有缺失的部分。

从表面上看(界面),这似乎可行,但它可能只是拼凑,并不能完全重新生成应用程序。

真正的原因与我的计算机某处的内部故障有关,由于未知原因,如果保存程序集文件的文件夹名称为“程序集”,则无法正确分配值到寄存器。

关于assembly - Insight 调试器在寄存器中显示错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com