简明 X86 汇编语言教程简明 X86 汇编语言教程 原创:司徒彦南 2002 年 4 月 8 日 徐远超于 2010-02-25 收集整理 2010-03-10 第 2 次补充 2010-03-25 第 3 次补充 目录 第 Ο 章 写在前面............................................................................ 21h 就是通过调用 DOS 中断服务返回父进程,并带回错误反馈码 0。其中,ax 中的数据 4c00h 就是传递给 DOS 中断服务的参数。 到这里,x86 汇编语言的基础部分就基本上讲完了,《简明 x86 汇编语言教程》的初级篇—— 汇编语言基础也就到此告一段落。当然,目前为止,我只是 蜻蜓点水一般提到了一些学习 x86 汇编语言中我认为需要注意的重要概念。许多东西,包括全部汇编语句的时序特性(指 令执行周期数,以及指令周期中各个阶段 的节拍数等)、功能、参数等等,限于个人水平和 篇幅我都没有作详细介绍。如果您对这些内容感兴趣,请参考 Intel 和 AMD 两大 CPU 供应商 网站上提供的 开发人员参考。 在以后的简明 x86 汇编语言教程中级篇和高级篇中,我将着重介绍汇编语言的调试技术、优 化,以及一些具体的应用技巧,包括反跟踪、反反跟踪、加密解密、病毒与反病毒等等。 第五章 编译优化概述 优化是一0 码力 | 63 页 | 598.28 KB | 1 年前3
Rust 程序设计语言简体中文版变量作用域 既然我们已经掌握了基本语法,将不会在之后的例子中包含 fn main() { 代码,所以如果你 是一路跟过来的,必须手动将之后例子的代码放入一个 main 函数中。这样,例子将显得更加 简明,使我们可以关注实际细节而不是样板代码。 在所有权的第一个例子中,我们看看一些变量的 作用域(scope)。作用域是一个项(item) 在程序中有效的范围。假设有这样一个变量: let s = "hello"; entry 方法只在键没有对应一个值时插入 Entry 的 or_insert 方法在键对应的值存在时就返回这个值的可变引用,如果不存在则将参 数作为新值插入并返回新值的可变引用。这比编写自己的逻辑要简明的多,另外也与借用检查 器结合得更好。 运行示例 8-24 的代码会打印出 {"Yellow": 50, "Blue": 10} 。第一个 entry 调用会插入黄 队的键和值 50 ,因为黄队并没有一个值。第二个 序的逻辑。正如 “二进制项目的关注分离” 部 分所展开的讨论,我们将提取一个叫做 run 的函数来存放目前 main 函数中不属于设置配置 或处理错误的所有逻辑。一旦完成这些,main 函数将简明得足以通过观察来验证,而我们将 能够为所有其他逻辑编写测试。 示例 12-11 展示了提取出来的 run 函数。目前我们只进行小的增量式的提取函数的改进。我 们仍将在 src/main.rs 中定义这个函数:0 码力 | 600 页 | 12.99 MB | 1 年前3
RISC-V 开放架构设计之道 1.0.0对本书的称赞 这本恰逢其时的书简明扼要地介绍了简洁、免费、开放的 RISC-V,一款正在许多 不同的计算领域迅速普及的 ISA。书中包含很多计算机体系结构方面的深刻见解, 同时也阐释了我们在设计 RISC-V 时做出的特定决策。我能想象本书将成为许多 RISC-V 从业者家喻户晓的参考指南。 ——克尔斯泰·阿桑诺维奇(Krste Asanović),加州大学伯克利分校教授,四位 RISC-V RISC-V 架构师之一 我喜欢 RISC-V 和这本书,因为它们优雅——简明扼要且完整。书中评论还提供 了一些野史、设计的动机,以及对各种架构的批评。 ——切斯特·戈登·贝尔(C. Gordon Bell),微软公司成员,Digital PDP-11 和 VAX-11 指令集架构的设计者 这本方便的小书轻松地总结了 RISC-V 指令集架构所有的基本要素,是学生和从 业者的完美参考指南。 一些有代表性的具体程序 示例对比,都深刻地阐释了 RISC-V 指令系统架构设计的先进性。 对于计算机专业和电子工程专业师生及计算机系统架构师和处理器设计者来说, 本书具有极好的参考价值。书中简明扼要地介绍了 RISC-V 各指令模块、汇编语言程 序及汇编指示符和伪指令、过程调用约定、链接与加载、浮点运算指令、原子指令、 压缩指令、向量指令、特权模式与特权指令等内容。通过阅读本书,读者可以快速了0 码力 | 223 页 | 15.31 MB | 1 年前3
Laravel 5.1 中文文档实现和依赖,你可以轻松的为给定契约编写可选实现代码,你可以随意替换缓存实现而不用 去修改任何缓存消费代码。 2.2 简单 当所有 Laravel 服务都统一在简单接口中定义,很容易判断给定服务提供的功能。契约可以 充当框架特性的简明文档。 此外,基于简单接口,代码也更容易理解和维护。在一个庞大而复杂的类中,与其追踪哪些 方法时有效的,不如转向简单、干净的接口。 3、契约列表 下面是 Laravel 契约列表,以及其对应的“门面” 口。Laravel 附带了很多门面,你可能 在不知道的情况下正在使用它们。Laravel 的门面作为服务容器中的底层类的“静态代理”, 相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活的、简明且富有表现力的 预语法。 2、使用门面 在 Laravel 应用的上下文中,门面就是一个提供访问容器中对象的类。该机制原理由 Facade 类实现,Laravel 自带的门面,以及你创建的自定义门面,都会继承自0 码力 | 307 页 | 3.46 MB | 1 年前3
美团点评2018技术年货6. 故障恢复要快之快速定位 定位需要靠谱的数据。所谓靠谱就是和要发现的问题紧密相关的,无关的数据会造成视觉盲点,影响定 位。所以对于日志,要制定一个简明日志规范。另外系统监控、业务监控、组件监控、实时分析诊断工具 也是定位的有效抓手。 简明日志规范 7. 故障恢复要快之快速解决 7. 故障恢复要快之快速解决 要解决,提前是发现和定位。解决的速度还取决于是自动化的、半自动化的还是手工的。核心交易有意向0 码力 | 229 页 | 61.61 MB | 1 年前3
Flask入门教程GitHub 上查看本书示例程序的对应 commit:1b6fe4a。 进阶提示 阅读 MDN 的 《Web 入门教程》(了解 HTML、CSS、JavaScript)。 阅读短教程《Git 简明指南》。 阅读文章《Pipenv:新一代Python项目环境与依赖管理工具》或 Pipenv 官方 文档。 如果你打算开源你的程序,在项目根目录中添加一个 README.md (自述文 件)和0 码力 | 127 页 | 7.62 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0entry 方法只在键没有对应一个值时插入 Entry 的 or_insert 方法在键对应的值存在时就返回这个值的可变引用,如果不存在则将参数 作为新值插入并返回新值的可变引用。这比编写自己的逻辑要简明的多,另外也与借用检查器 结合得更好。 运行示例 8-24 的代码会打印出 {"Yellow": 50, "Blue": 10}。第一个 entry 调用会插入黄队 的键和值 50,因为黄队并没有一个值。第二个 现在我们完成了配置解析的重构,让我们转向程序的逻辑。正如“二进制项目的关注分离”部分 所展开的讨论,我们将提取一个叫做 run 的函数来存放目前 main 函数中不属于设置配置或处 理错误的所有逻辑。一旦完成这些,main 函数将简明得足以通过观察来验证,而我们将能够 为所有其他逻辑编写测试。 示例 12-11 展示了提取出来的 run 函数。目前我们只进行小的增量式的提取函数的改进。我 们仍将在 src/main.rs 中定义这个函数: 296/562Rust 程序设计语言 简体中文版 } results } 示例 13-21:示例 12-19 中 search 函数的定义 可以通过使用迭代器适配器方法来编写更简明的代码。这样做还可以避免使用一个可变的中间 results vector。函数式编程风格倾向于最小化可变状态的数量来使代码更清晰。去除可变状 态可能会使未来的并行搜索优化变得更容易,因为我们不必管理对0 码力 | 562 页 | 3.23 MB | 24 天前3
Django 官方教程翻译项目无需数据库就可以使用,它提供了对象关系映射器(ORM)。通过此技术,你可以使用 Python 代码来描述数据库结构。 数据模型语法提供了很多方法来描述你的数据,这解决了多年来在数据库模式中的难题。以下是一个 简明的例子: 1. # mysite/news/models.py 2. 3. from django.db import models 4. 5. class Reporter(models0 码力 | 103 页 | 1.86 MB | 1 年前3
Laravel 5.3 中文文档Laravel 内置了很多门面,你可能在不 知道的情况下正在使用它们。Laravel 的门面作为服务容器中的底层类的“静态代理”,相比于传统 静态方法,在维护时能够提供更加易于测试、更加灵活的、简明且富有表现力的语法。 Laravel 的所有门面都定义在 Illuminate\Support\Facades 命名空间下,所以我们可以轻松访问 本文档由 Laravel 学院(LaravelAcademy 和依赖,你可以轻松的为给定契约编写可选实现代码,你可以随意替换缓存实现而不用去修改任 何缓存消费代码。 简单 当所有 Laravel 服务都统一在简单接口中定义,很容易判断给定服务提供的功能。契约可以充当 框架特性的简明文档。 此外,基于简单接口,代码也更容易理解和维护。在一个庞大而复杂的类中,与其追踪哪些方法 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel0 码力 | 691 页 | 9.37 MB | 1 年前3
Laravel 5.6 中文文档态”接口。Laravel 内置了很多门面,你可能在不知道的情况下正在使用它们。Laravel 的门面作为服务 容器中底层类的“静态代理”,相比于传统静态方法,在维护时能够提供更加易于测试、更加灵活、简明优雅的语法。 Laravel 的所有门面都定义在 Illuminate\Support\Facades 命名空间下,所以我们可以轻松访问到门面: use Illuminate\Support\Facades\Cache; 定契约编写可选实现代 码,你可以随意替换缓存实现而不用去修改任何缓存消费代码。 简单 当所有 Laravel 服务都统一在简单接口中定义,很容易判断给定服务提供的功能。契约可以充当框架特性的简明文档。 此外,基于简单接口,代码也更容易理解和维护。在一个庞大而复杂的类中,与其追踪哪些方法是有效的,不如转向简单、干净的接口。 如何使用契约 那么,如何实现契约呢?这很简单。 Laravel0 码力 | 377 页 | 14.56 MB | 1 年前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













