assembly

当我在 Linux 系统上运行“cli;hlt”时实际上发生了什么?
assembly

当我在 Linux 系统上运行“cli;hlt”时实际上发生了什么?

所以我最近发现有一个HLT操作码可以暂停 CPU。太棒了,让我们看看会发生什么! user@box:~$ cat > test.c int main(void) { __asm__("HLT"); return 0; } user@box:~$ gcc -o test test.c user@box:~$ ./test Segmentation fault (core dumped) user@box:~$ 哎呀!真无聊。 结果发现HLT这是一条特权指令,所以让我们尝试一下别的。 user@box:~$ mkdir test;...

Admin

在裸机上执行 INT 10h 时,每个字母是否对应一个 0-1 矩阵?
assembly

在裸机上执行 INT 10h 时,每个字母是否对应一个 0-1 矩阵?

如果我们通过汇编语言调用INT 10h并设置其参数,然后将这段代码编译成二进制并写入软盘的引导扇区,就可以在裸机(或没有OS的虚拟机)屏幕上输出一个字符串。 ... ; INT 10h ; When AH = 13h ; ES:BP = Offset of string ; CX = length of string ; AL = Write mode ; BH = Page Number, BL = Color ; DL = Column mov ax, BootMessage mov bp, ax mov cx, 12 mov ax, 01301h mo...

Admin

如何解决:“此应用程序无法在您的电脑上运行,要找到适合您电脑的版本,请咨询软件发布者”(Windows11)尝试运行 32 位应用程序?
assembly

如何解决:“此应用程序无法在您的电脑上运行,要找到适合您电脑的版本,请咨询软件发布者”(Windows11)尝试运行 32 位应用程序?

为了完成 Peter 和 Hyde 汇编手册中的关键章节,需要运行这个 SIMX86.EXE [32 位应用程序。x86(假设的 CPU)的内置汇编器(编译器)、调试器和中断器](https://github.com/veleita/86SIM-Assembly-exercises& 也位于 Hyde 的网站 [aoa.zip])。 我在 MacBookPro 上的 VirtualBox 上运行着 Windows 11。 当我双击该程序时,会显示一个蓝色窗口,并显示以下消息:“此应用程序无法在您的 PC 上运行。要查找适合您 PC 的版本,请咨询软件...

Admin

(已解决)除了全新安装 Windows 之外,我怎样才能恢复 Windows\Microsoft.NET 文件夹中丢失的文件?
assembly

(已解决)除了全新安装 Windows 之外,我怎样才能恢复 Windows\Microsoft.NET 文件夹中丢失的文件?

(已编辑并添加此注释) 注意:我已经尝试过 DISM、sfc、.NET Framework 修复工具、关闭和打开 .NET Framework 功能、从还原点还原以及重置系统。 (结束编辑) 我家里有两台相同的 HP Envy m6 笔记本电脑,都安装了 Windows 10 Home,通过比较它们的 Windows\Microsoft.NET 文件夹,我发现我的电脑缺少几十个文件。 五天前,当我尝试启动 Duplicate Cleaner 5 时出现了这条消息: 重复项清理器 Pro 5.19.0 启动重复清理器时出错:无法加载文件或程序集“System...

Admin

操作系统需要具备什么才能被视为 Linux 发行版?
assembly

操作系统需要具备什么才能被视为 Linux 发行版?

假设我想创建一个在 WDC 65C02 CPU 上运行的 Linux 版本。Linux 是如何“定义”的?操作系统需要满足哪些标准才能被视为 Linux,而不仅仅是“其他自制操作系统”?我计划直接用汇编语言编写这个,因为我发现 cc65 生成的代码效率有些低下。 ...

Admin

对于外行来说,检查未经验证的 exe 文件的最佳方法是什么?
assembly

对于外行来说,检查未经验证的 exe 文件的最佳方法是什么?

有人在 Telegram 群组中分享了一个 exe 文件。分享它的人不知道它的来源,但该软件做了它应该做的事情。我担心的是它在后台做了其他事情。 经过阅读,我发现一种安全的方法是使用虚拟机打开它并使用像 Process Monitor 这样的软件来监视其活动。 另一种方法是使用像 x64dbg 这样的软件调试器,但这样我就必须学习汇编,而且这似乎太高级了。 我想知道是否还有其他更有效的方法来验证exe文件的安全性。 ...

Admin

汇编程序/CPU 如何处理变量?
assembly

汇编程序/CPU 如何处理变量?

我最近对硬件非常感兴趣,一直在研究 CPU 的工作原理。为此,我一直在为虚构的 CPU 架构制作汇编器、反汇编器和 vCPU。 我学到了很多,但还是有些东西不明白。汇编程序/CPU 如何处理变量? 据我所知,局部变量是在堆栈上分配和存储的。但是当 CPU 到达需要局部变量值的指令时,它如何知道它在堆栈上的位置?汇编程序不能在编译时输入地址,对吗? 我不太理解全局变量,除非你在.data部分 (x86 asm) 中有它们。当 CPU 到达需要全球的变量,它怎么知道它在内存中的位置?每次运行程序时,它不是在不同的位置吗?那么汇编程序就不能给它一个地址,对吗? 我...

Admin

“不兼容”的 Windows 11 CPU 是否缺少某些特定的处理器指令,从而可能导致将来在其上运行的 Windows 11 崩溃?
assembly

“不兼容”的 Windows 11 CPU 是否缺少某些特定的处理器指令,从而可能导致将来在其上运行的 Windows 11 崩溃?

我知道: 官方支持的CPU列表 TPM 2.0 的要求 安全启动的要求 我相信很多人都知道,可以绕过上述要求,让 Windows 11 在官方“不兼容”的硬件上运行。 较新的处理器的指令集中是否包含附加指令? 但是对于该支持列表中的 CPU,它们的指令集中是否有可供微软开发人员在未来的 Windows 11 版本中使用的附加指令? 我想知道此类指令是否会出现在 Windows 某些部分的低级汇编代码中,或者由所使用的 C/C++ 编译器在软件的其他地方以机器语言生成。如果是这样的话,那么一旦发布包含这些处理器指令代码的更新,延长运行 Windows 11...

Admin

进一步阅读
assembly

进一步阅读

我正在尝试在我的 Linux 子系统上使用 QEMU 模拟 Raspberry-pi/Raspbian。我按照这个关联并执行以下步骤 $ mkdir ~/qemu_vms/ Download/copy Raspbian Wheezy to ~/qemu_vms/ Download kernel-qemu to ~/qemu_vms/ $ sudo apt-get install qemu-system $ file ~/qemu_vms/2013-02-09-wheezy-raspbian.img From the output of the file co...

Admin

SASM 问题 - fedora
assembly

SASM 问题 - fedora

我使用 fedora33 作为操作系统,在使用 SASM 时遇到了一个问题。即使我已经安装了 GCC、NASM 和 FASM,在运行“hello world”示例时,SASM 也会输出错误消息。只有 32 位 NASM 汇编程序可以正常工作,所有其他汇编程序(例如 64 位 NASM、32 位和 64 位 FASM 和 GAS 汇编程序)都会出现编译错误。我应该怎么做才能解决这个问题? ...

Admin

内存位置地址在 CPU 中实际上是如何存储的?
assembly

内存位置地址在 CPU 中实际上是如何存储的?

我曾多次看到内存位置的表示法,它被描绘成矩形框的线性阵列,其左侧是各自的内存地址。现在,这些地址通常写为 2000、2004、2008...等(我想是针对 32 位机器的)。 根据上述系统,内存位置只是普通的整数。但是当我用 C/C++ 打印出地址时,它们会显示为字母数字字符串。另外,如果它们实际上只是整数,那会不会有点问题,因为包含 2000 这样的数值的寄存器(例如 R1)可能突然通过将其括在括号中来充当指向内存位置的指针?像这样:(R1)->这将指向内存位置 2000 (顺便说一下,那是汇编语言) 那么内存地址在内存中究竟是如何存储的呢? ...

Admin

尝试编译 .hla 文件时发生转换错误
assembly

尝试编译 .hla 文件时发生转换错误

我最近开始学习汇编语言,阅读 Randall Hyde 的《汇编语言的艺术》。他还开发了 HLA(高级汇编语言),让初学者更容易学习汇编语言。 要编译你创建的 .hla 程序,你可以从以下位置下载 .exe这里,安装所有必需的设置。您只需将目录更改为 /hla 并在命令行中输入以下内容即可编译程序:hla PROGRAM.hla。 我的问题:一开始编译器运行正常,但现在当我想编译程序时,会出现错误。程序如下所示: program helloWorld; #include ("stdlib.hhf"); begin helloWorld; s...

Admin

Raspbian gcc 不知道‘.intel_syntax’?
assembly

Raspbian gcc 不知道‘.intel_syntax’?

我尝试执行: gcc -o main main.c squrt.S -lm -no-pie 这在另一台计算机上也能运行,但这次它不认识任何指令: squrt.S: Assembler messages: squrt.S:7: Error: unknown pseudo-op: `.intel_syntax' squrt.S:12: Error: junk at end of line, first unrecognized character is `#' squrt.S:17: Error: bad instruction `movq rax,xm...

Admin

如何在 Windows 10 中安装 PresentationFramework.dll
assembly

如何在 Windows 10 中安装 PresentationFramework.dll

我一直在使用 Visual Studio 2019 和 .Net core 3.0 preview 5。我试图进行单元测试,但由于出现异常消息,我无法进行: System.BadImageFormatException : Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Reference assemblies should not be loaded for...

Admin