简明 X86 汇编语言教程## 简明 X86 汇编语言教程 原创:司徒彦南 2002 年 4 月 8 日 徐远超于2010-02-25收集整理 2010-03-10第2次补充 2010-03-25第3次补充 目录 第0章写在前面.....2 第一章汇编语言简介.....3 第二章认识处理器.....4 2.1寄存器.....4 2.2使用寄存器.....6 第三章操作内存.....12 3 ....38 5.4x86体系结构上的并行最大化和指令封包.....40 5.5存储优化.....42 第六章Linux X86汇编程序设计.....46 6.1编译和链接.....46 6.2基本示例.....46 第七章X86汇编指令集汇总.....47 一.数据传输指令.....47 二、算术运算指令.....49 三、逻辑运算指令.....49 四、串指令 instructions.....54 第八章GCC内联汇编基础.....54 1.GCC汇编格式.....55 2.内联汇编基本形式.....56 3.扩展形式内联汇编.....56 4. 深入constra.....59 5. 结束语.....63 ## 第 0 章 写在前面 我不想夸大或者贬低汇编语言。但我想说,汇编语言改变了20世纪的历史。与前辈相比,我们这一代编程人员0 码力 | 63 页 | 598.28 KB | 2 年前3
Go语言 - 一些简单的读书分享7d85a42790309bfa0aff5b7/p2_2.jpg) · 我是作者之一 - 这本书在写的时候国内的 Go 语言书很少 • 现在销量约 2w+ - 直到现在,CGO 和 plan9 汇编的内容依然是独一份 ## 目录 为什么要读书 01 带着问题读书 02 怎么样读书 03 应该读哪些书 04 ## 第一部分 为什么要读书 ## 为什么要读书 - 完整的知识和上下文0 码力 | 16 页 | 9.09 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化## AMD # 从汇编角度看编译器优化 by 彭于斌 (@archibate) 往期录播:https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码:https://github.com/parallel101/course  CMake 3.12 及以上(跨平台作业) Git 2.x(作业上传到 GitHub) CUDA Toolkit 10.0 以上(GPU 专题) ## I ❤️ C 第 0 章:汇编语言 ## x64 架构下的寄存器模型 0 码力 | 108 页 | 9.47 MB | 2 年前3
1.2.2 GoLLVM 编译探索JSONEncode-16 4.43ms±2% 6.45ms±2% +45.83% (p=0.029 n=4+ ’ alt=‘OCR图片’/> GoLLVM现状 ·问题分析 ·不支持汇编 基本上所有的微服务,都直接或者间接依赖plan9汇编 前端来源于gccgo 机制依赖于libdwarf/libunwind,与runtime的兼容性不好 writebarrier/boundcheck的过早引入,影响了后续优化 手动inline后,mallocgc提升10% ’ alt=‘OCR图片’/> 第四部分 解决办法 ’ alt=‘OCR图片’/> GoLLVM问题解决 ASM的支持 汇编指令转换 Plan9 -> gnu asm ABI转换: Plan9: no callee save, stack-based GoLLVM 基于C的calling convention save all called-save0 码力 | 25 页 | 3.99 MB | 1 月前3
Better x86 Assembly Generation with Go0 码力 | 155 页 | 13.54 MB | 2 年前3
1.2.1 Go on Loong64port merged ’ alt=‘OCR图片’/> 过去时代的余晖 最早的 loong64 port 代码有明显的 mips64x痕迹,目前仍有部分残留。 代码风格、组织方式不够现代(Plan9时代,机翻味道) 少数用户可感知的部分之一:Go asm 语法 MOVV是向量搬运吗? ADDVU 是无符号运算吗? 好在:大部分坑和褶皱仍然属于实现细节,可以重构。 ’ alt=‘OCR图片’/> math/bits.ReverseBytes μbench time -65.40% • math/bits.Reverse μbench perf -69.90% ’ alt=‘OCR图片’/> 汇编性能优化:软柿子 beq $zero,$zero,offsetb offset // before// after(perf+0.24%) beq A,$zero,offsetbeqz alt=‘OCR图片’/> 汇编性能优化:硬核桃 // src/internal/bytealg/indexbyte_loong64.s loop: LA464中的4有什么深刻含义? ’ alt=‘OCR图片’/> 第三部分 明天 一月三捷 豈敢定居 一月三捷 ’ alt=‘OCR图片’/> 下阶段的上游工作 梳理、重构 asm 后端 从机器可读的指令描述数据,自动生成相关代码 整理汇编语法 规范化助记符、操作数顺序等,去除特例0 码力 | 27 页 | 1.31 MB | 1 月前3
5.cgo 原理解析及优化实践pthread_key_create(&pthread_g, pthread_key_destructor) 2023 年 3 月 25 日,第一次合并 • crosscall2 是手写 Plan9 的汇编函数 • 兼容性处理:十来个 CPU,好几个 OS • 搞懂混合编译:Go,ASM,C 首次进入 注册线程变量 带 destructor needm 将 g 写入 TLS 线程退出0 码力 | 45 页 | 5.74 MB | 2 年前3
The Zig Programming Language 0.11.0 Documentation0 码力 | 238 页 | 7.80 MB | 2 年前3
2.2.1 Go in the Cloud - Why People Choose Go for Cloud Computinglinux/s390x openbsd/arm64 android/arm64 linux/386 nacl/386 plan9/386 darwin/386 linux/amd64 nacl/amd64p32 plan9/amd64 darwin/amd64 linux/arm nacl/arm plan9/arm darwin/arm linux/arm64 netbsd/386 solaris/amd640 码力 | 56 页 | 1.38 MB | 1 月前3
RISC-V 开放架构设计之道 1.0.0存储系统的发明者之一 RISC-V 是学生学习指令集架构和汇编语言编程的不错选择,二者是后续使用高级语言的基础。本书清晰地介绍了 RISC-V,还包含对其演化历史的深刻见解,以及与其他常见架构的对比。以过去的指令集架构为鉴,RISC-V 的设计者能规避一些不必要、不合理的特性,使其易于教学。虽然它很简洁,但它的强大足以在实际应用中广泛使用。很久以前我教过汇编编程的入门课,如果我现在去教这门课,我很乐意用本书作为教材。 ——迈克尔·贝德福特·泰勒(Michael B. Taylor),华盛顿大学教授 本书对于 RISC-V ISA 的所有从业人士来说是十分宝贵的参考。操作码按几种有用的格式呈现,便于快速查阅,也易于汇编代码的开发和解释。此外,书中关于如何使用 RISC-V 的阐释和示例能让程序员的工作更轻松。书中 RISC-V 和其他 ISA 的对比很有趣,也展示了 RISC-V 设计者做出设计决策的原因。 ——梅根·瓦克斯(Megan 了 RISC-V 指令系统架构设计的先进性。 对于计算机专业和电子工程专业师生及计算机系统架构师和处理器设计者来说,本书具有极好的参考价值。书中简明扼要地介绍了 RISC-V 各指令模块、汇编语言程序及汇编指示符和伪指令、过程调用约定、链接与加载、浮点运算指令、原子指令、压缩指令、向量指令、特权模式与特权指令等内容。通过阅读本书,读者可以快速了解 RISC-V 指令集架构最基础的内容和最核心、最0 码力 | 223 页 | 15.31 MB | 2 年前3
共 124 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













