Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
汇编语言中数组的冒泡排序
我需要对一个无组织的数组进行冒泡排序 其中包含从最大到最小的 7 个整数 因此它看起来像 9 6 5 4 3 2 1 我通过编译器运行我的代码 它说 我不明白这段代码有什么问题 code segment assume ds code cs
Arrays
Assembly
x86
bubblesort
操作码的十六进制值
我创建了一个非常简单的汇编程序 可以在 DOS 中打印字母 a 我在十六进制编辑器中打开它 结果是这样的 汇编代码 mov ah 2 mov dx a int 21h 十六进制代码 B4 02 B2 61 CD 21 我想了解它是如何生成的
Assembly
x86
Hex
DOS
从不同线程写入相邻的数组元素?
是否有任何现代的常见 CPU 从不同线程同时写入数组的相邻元素是不安全的 我对 x86 特别感兴趣 您可能会认为编译器不会做任何明显荒谬的事情来增加内存粒度 即使它在技术上符合标准 我对编写任意大结构的情况感兴趣 而不仅仅是本机类型 Not
Multithreading
Asynchronous
threadsafety
x86
C:将x86指令放入数组并执行它们[重复]
这个问题在这里已经有答案了 有没有办法将处理器指令放入数组中 使其内存段可执行并将其作为简单函数运行 int main char myarr 13 0x90 0xc3 void myfunc void myarr myfunc return
c
memory
x86
execute
问题:gcc 从我的 C++ 生成的程序集
编译这段代码 int main return 0 using gcc S filename cpp 生成此程序集 file heloworld cpp text globl main type main function main LFB0
c
Linux
Assembly
x86
x86 部分寄存器使用
如果我在 8 位寄存器中保存一个值 比如说 10DH然后是 8 位寄存器中的另一个值 15DL 这会起作用吗 或者它们会互相覆盖吗 因为它们都是 32 位的EDX登记 mov 10 DH mov 15 DL cmp DL DH jle do
Assembly
x86
查看x86架构中的cpu缓存内容
如何查看或转储基于 x86 的架构的 cpu 缓存内容 每次进行缓存刷新时 我如何才能看到刷新了什么 在哪里 你不能 真的 CPU 缓存被设计为对于 CPU 上运行的代码是透明的 它具有加快代码执行速度的效果 但 CPU 管理有关缓存的所有
caching
x86
CPU
cpuarchitecture
cpucache
x86 32 位汇编代码是否有效 x86 64 位汇编代码?
所有 x86 32 位汇编代码都对 x86 64 位汇编代码有效吗 我想知道32位汇编代码是否是64位汇编代码的子集 即每个32位汇编代码都可以在64位环境中运行 我想答案是肯定的 因为64位Windows能够执行32位程序 但是后来我看到
Windows
Assembly
Binary
x86
我无法在我的 Visual C Express Edition 2008 中汇编电影 (MMX) 指令
当我尝试编译时movd指令显示错误为 error A2085 instruction or register not accepted in current CPU mode 我的代码如下 386 model flat c code add
Windows
Assembly
x86
MASM
mmx
"rdtsc": "=a" (a0), "=d" (d0) 这是做什么的? [复制]
这个问题在这里已经有答案了 我是 C 和基准测试的新手 我不明白这部分代码的作用是什么 所以我发现了一些关于 edx eax 寄存器的信息 但我不完全理解它是如何在代码中发挥作用的 所以我理解这段代码本质上返回了CPU周期的当前滴答声 那么
c
gcc
x86
inlineassembly
RDTSC
如何在x86汇编编程中表示诸如FFFFFFBB之类的十六进制值?
我正在学习 x86 内联汇编编程 我想写mov ecx FFFFFFBB 但是编译器无法识别它 像这样的十六进制数字应该如何在内联汇编代码中编写 这取决于您的汇编器的风格 美国电话电报公司 movl 0xFFFFFFBB ecx Intel
Assembly
x86
Hex
inlineassembly
Little Endian 并推入 nasm
我不明白为什么代码的输出是Ole 小字节序不应该影响push命令 global start section data x dd 3 section text start mov eax 4 mov ebx 1 mov dword x 0x0
Assembly
x86
nasm
endianness
每个 AT&T 语法操作数访问内存或寄存器中的什么值?
假设以下值存储在指定的内存地址和寄存器中 Address Value Register Value 0x100 0xFF eax 0x100 0x104 0xAB ecx 0x1 0x108 0x13 edx 0x3 0x10C 0x11
Assembly
x86
memoryaddress
att
addressingmode
枚举程序集的所有已安装版本(在 GAC 中)
是否可以使用 C 枚举 GAC 中程序集的所有已安装版本 例如 我有一个名为 My Assembly 的程序集 该程序集可能有各种版本 1 0 0 0 2 3 4 5 0 1 2 4 等 并且可以针对各种平台 x86 x64 任何 CPU
c
dll
x86
64bit
gac
使用标志寄存器作为布尔返回值是否被认为是不好的做法?
我正在 x86 汇编程序中编写一些程序 这些程序修改 ZF 作为返回布尔值的方法 因此我可以执行以下操作 call is value correct jz not correct 我想知道这是否被认为是不好的做法 因为一些编码标准规定简单的
Assembly
x86
codingstyle
当他们说“参数以相反的顺序推动”时,这是什么意思?
In the cdecl调用约定 它指出 Arguments are pushed in the reverse order right to left 我的问题是 逆序相对于什么非逆序 与功能文档相关吗 例如 如果我有以下函数文档 voi
Assembly
x86
callingconvention
x86汇编代码的语法
我试图了解操作系统的基础知识 并在 OCW 中找到了相关课程 名为 6 828 我在课程的实验室中找到了引导加载程序的代码 我尝试了但不明白以下部分代码 Enable A20 For backwards compatibility with
Assembly
x86
operatingsystem
C 语言的完整 x86/x64 JIT 汇编器
你知道类似的事情吗this http code google com p asmjit 但是可以嵌入到 C 程序中吗 一些选项 LibJIT http www gnu org software dotgnu GNU闪电 http www g
Assembly
x86
x8664
JIT
现代 x86 成本模型
我正在编写一个带有 x86 后端的 JIT 编译器 并一边学习 x86 汇编程序和机器代码 我大约 20 年前使用过 ARM 汇编器 对这些架构之间成本模型的差异感到惊讶 具体来说 内存访问和分支在 ARM 上的成本很高 但等效的堆栈操作和
performance
Assembly
x86
floatingpoint
microoptimization
无法将 8 位地址移至 16 位寄存器
我正在尝试分配变量来注册 代码如下 ORG 100h var1 DB 10 var2 DB 20 MOV BX var1 error operands do not match 16 bit register and 8 bit addre
Assembly
x86
x8616
emu8086
«
1
2
3
4
5
6
...49
»