Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
用汇编语言更改 CS:IP
怎么可以强行改变CS and IP都是汇编语言 ORG指令可用于更改的数量IP 但是你如何改变CS 基本上我想使用汇编来实现多线程 许多论坛 包括堆栈溢出中的一个问题都说这是不可能的 但是即使 C 是由汇编代码制成的 它如何具有多线程选项呢
Assembly
x86
memorysegmentation
如何将以下 NASM 代码转换为 AT&T 语法,以修复“无法处理 jmp 中的非绝对段”错误
我是 AT T 语法新手 我想将以下 NASM 语法代码转换为 AT T 语法只是为了便于理解 我尝试将其转换为 AT T 语法 lgdt gdtpointer jmp gdtcode start gdt quad 0x0000000000
Assembly
x86
nasm
BootLoader
att
“mov eax, [num]”和“mov eax, num”之间的区别
我是一名初学者 正在编写汇编程序 使用以下代码打印从 1 到 9 的数字 section text global start start mov ecx 10 mov eax 1 l1 mov num eax mov eax 4 mov e
Assembly
x86
nasm
32bit
如何使用 SIMD 检查偶数/奇数通道是否在给定范围内?
Given a m128i其中存储 16char是 偶数索引车道指的是even车道 即 0 2 4 14 处的车道 奇数索引车道指的是odd车道 即 1 3 5 15 处的车道 在我的应用程序中 偶数 奇数车道必须在给定范围内 例如 假设e
x86
SIMD
SSE
JNZ 和 CMP 组装说明
如果我错了请纠正我 这是我的理解JNZ and CMP JNZ 跳跃将会发生 如果Z标志不为零 1 CMP 如果两个值相等 则Z标志已设置 1 否则未设置 0 这是我正在看的 Flash 教程 它正在教授一个简单的 CrackMe 的解决方
Assembly
x86
reverseengineering
OllyDbg
cmp
为什么 Evan 的调试器说我要转向 eax 而不是 rax?
我正在将一些值移至 rax 但调试器显示它正在移至 eax 这是怎么回事 是用调试器 nasm 还是我的知识 无论如何 代码当然可以完美运行 我使用的调试器是 Evan s Debugger 简而言之 您和调试器都是正确的 当您将某物移动到
debugging
Assembly
x86
cpuregisters
如何以可跨 Linux、Windows 和 MacOS 移植的方式收集 Python 3 中的当前架构?
我正在尝试找到一种可移植的方式来收集当前的架构 例如x86 64 or AArch64 我将用它来填充一个标志 例如is x86 使用Python 3 它看起来像import platform platform machine 函数是正确的
python
python3x
x86
x8664
ARM64
在 x86 32 位中禁用分页
我试图直接写入物理内存位置 因此我使用汇编函数首先禁用分页 写入值 然后重新启用分页 但由于某种原因 在尝试写入时仍然会触发页面错误价值 据我了解 在x86 32位中 通过翻转cr0中的第32位来打开和关闭分页 所以这是我的汇编函数 mov
Assembly
x86
Paging
virtualmemory
pagefault
使用BIOS int 13h访问不同磁头的扇区
我的磁盘每磁道有 63 个扇区 根据我的观察 我假设 我想使用 int 13h 读取 16 位引导加载程序上的扇区 例如 如果我想读取扇区号 63 我将执行以下操作 mov dl 0x80 Drive number mov dh 0 Thi
Assembly
x86
x8616
BootLoader
osdev
无法调整尺寸指令
我想知道为什么有些汇编指令可以推断 但其他的则不能 例如 在以下程序中我有 globl main main push rbp mov rsp rbp mov 8 8 rbp mov 8 rbp rax pop rbp ret 我收到以下错误
Assembly
x86
gnuassembler
att
为什么每个逻辑 CPU 在多线程情况下都有自己的 CR3 寄存器?
当我们有一个支持某种形式的多线程的 CPU 时 每个逻辑 CPU 都有它自己的一组寄存器 至少 包括 CR3 寄存器 由于我们在执行不同线程时正在处理同一进程的虚拟地址空间 并且永远不会发生上下文切换 切换同一进程的线程时TLB缓存也不会失
Multithreading
x86
CPU
装配冒泡排序交换
我正在尝试在 x86 程序集中进行冒泡排序 是的 它必须是冒泡排序 因为我不关心不同类型排序的速度优化 并且出于某种原因 我的代码不会交换必要的值 这是我的代码 mov eax list store list in eax mov edx
Assembly
x86
bubblesort
如何写入LLDB中的XMM寄存器
我正在尝试使用 LLDB API 从 python 中的寄存器读取和写入值 对于通用寄存器 我一直在使用frame register register name value读取和写入寄存器值 这对我来说很成功 然而 当我接近浮点寄存器时 我
python
x86
x8664
SSE
LLDB
C 编程语言中的结构实际上是如何实现的? [复制]
这个问题在这里已经有答案了 结构体是C编程语言中的复合数据结构 它们由诸如整数和指针之类的基元组成 所有这些基元都以相邻的方式 例如数组 放置在内存中 我的问题是 结构本身是由什么制成的 它们是一种数组吗 例如 哈希表可以实现为链表数组 以
c
Assembly
struct
x86
.Net4 应用程序中托管的 .Net2 程序集在 x86 中比在 AnyCpu 模式中表现更好?
我有一个引用第 3 方 Net2 程序集的 Net4 WinForms 应用程序 其中包含图形密集型视觉控件 我注意到一个huge当我不小心将应用程序从 AnyCpu 切换到 x86 编译模式时 应用程序的视觉性能得到了改善 我的开发设备是
NET
WinForms
performance
x86
anycpu
将程序集编译为 x64 有什么优点吗?
假设我有一个 Net Framework 3 5 SP1 CLR 2 0 应用程序 需要在 x86 和 x64 平台上运行 还假设出于某种原因 我需要创建单独的 x86 和 x64 安装程序 由于我无论如何都有一个特定于 x64 的安装程序
NET
x86
64bit
Compilation
如何获取变量的地址并在 nasm x86 程序集中取消引用它?
在c语言中我们使用 获取变量的地址并 取消引用该变量 int variable 10 int pointer pointer variable 汇编中没有变量 variable db A 做几件事 它定义了汇编时间符号variable 就像
pointers
Assembly
x86
nasm
无效异常展开导致崩溃?
我正在调试我们的一项测试中发生的崩溃 我们有一个用 C 编写的 ODBC 驱动程序 so 正在使用我们的测试工具 称为 Touchstone 通过 iODBC 对其进行测试 该工具也是用 C 编写的 我已使用 Oracle Solaris
c
x86
valgrind
Solaris
MOVDQA 和 MOVAPS x86 指令之间的区别?
我正在查找英特尔数据表 英特尔 64 和 IA 32 架构 软件开发人员手册我找不到两者之间的区别 MOVDQA 移动对齐的双四字 MOVAPS 移动对齐压缩单精度 在英特尔数据表中我可以找到这两条指令 该指令可用于从 128 位加载 XM
Assembly
x86
SSE
SIMD
MOV
如何获取 RAM 大小、引导加载程序
我想问如何在引导加载程序中获取总 RAM 大小和可用 RAM 大小 截至目前 我知道如何获得较低的内存 但由于某种原因我无法将其打印到屏幕上 因为它保存在斧头寄存器中 这是我到目前为止所拥有的 BITS 16 BootLoader alwa
Assembly
x86
RAM
BootLoader
osdev
«
1
2
3
4
5
6
7
8
...49
»