2 第 1 章 有人说使用机器语言, 从根本上来说, 是我所犯的极大错误 但是我真的认为, 只 有有能力讨论底层细节, 才可以为严肃的计算机程序员写书 1 2 登录本书网站 可获取大量的补充信息 教程和练习 读者可能会问的问题 3 需要怎样的背景知识

Size: px
Start display at page:

Download "2 第 1 章 有人说使用机器语言, 从根本上来说, 是我所犯的极大错误 但是我真的认为, 只 有有能力讨论底层细节, 才可以为严肃的计算机程序员写书 1 2 登录本书网站 可获取大量的补充信息 教程和练习 读者可能会问的问题 3 需要怎样的背景知识"

Transcription

1 第 1 章 Assembly Language for x86 Processors, Seventh Edition 基本概念 本章将建立汇编语言编程的一些核心概念 比如, 汇编语言是如何适应各种语言和应用程序的 本章还将介绍虚拟机概念, 它在理解软件与硬件层之间的关系时非常重要 本章还用大量的篇幅说明二进制和十六进制的数制系统, 展示如何执行转换和基本的算术运算 本章的最后将介绍基础逻辑操作 (AND OR 和 NOT), 后续章节将证明这些操作是很重要的 1.1 欢迎来到汇编语言的世界 本书主要介绍与运行 Microsoft Windows 32 位和 64 位系统的 Intel 和 AMD 处理器相兼容的微处理器编程 配合本书应使用 Microsoft 宏汇编器 ( 称为 MASM) 的最新版本 Microsoft Visual Studio 的大多数版本 ( 专业版, 旗舰版, 精简版 ) 都包含 MASM 请访问我们的网站 (asmirvine.com), 以便了解 Visual Studio 对 MASM 支持的最新详细信息 同时, 网站中还包括很多关于如何设置软件并开始使用的有用信息 在运行 Microsoft Windows 的 x86 系统中, 其他一些有名的汇编器包括 :TASM(Turbo 汇编器 ),NASM(Netwide 汇编器 ) 和 MASM32(MASM 的一种变体 ) GAS(GNU 汇编器 ) 和 NASM 是两种基于 Linux 的汇编器 在这些汇编器中,NASM 的语法与 MASM 的最相似 汇编语言是最古老的编程语言, 在所有的语言中, 它与原生机器语言最为接近 它能直接访问计算机硬件, 要求用户了解计算机架构和操作系统 教育价值为什么要读这本书? 也许读者正在学的大学课程的名称与下列课程之一相似, 而这些课程经常使用这本书 : 微计算机汇编语言 汇编语言编程 计算机体系结构导论 计算机系统基础 嵌入式系统编程本书有助于学习计算机体系结构 机器语言和底层编程的基本原理 读者可以学到足够的汇编语言, 来测试其掌握的当今使用最广泛的微处理器系列的知识 读者不会学到用模拟汇编器来编写一个 玩具 计算机 ;MASM 是一个由业界专业人士使用的工业级汇编器 读者将从程序员的角度来了解 Intel 处理器系列的体系结构 如果读者计划成为 C 或 C++ 开发者, 就需要理解内存 地址和指令是如何在底层工作的 在高级语言层次上, 很多编程错误不容易被识别 因此, 程序员经常会发现需要 深入 到程序内部, 才能找出程序不工作的原因 如果读者对底层编程和学习计算机软硬件细节的价值有所怀疑, 请注意以下描述, 它引用自首席计算机科学家 Donald Knuth 对其著名丛书 计算机程序设计艺术 的讨论 : 1

2 2 第 1 章 有人说使用机器语言, 从根本上来说, 是我所犯的极大错误 但是我真的认为, 只 有有能力讨论底层细节, 才可以为严肃的计算机程序员写书 1 2 登录本书网站 可获取大量的补充信息 教程和练习 读者可能会问的问题 3 需要怎样的背景知识? 在阅读本书之前, 读者至少使用过一种结构化高级语言进行编程, 如 Java C Python 或 C++ 需要了解如何使用 IF 语句 数组和函数来解决编程问题 什么是汇编器和链接器? 汇编器 (assembler) 是一种工具程序, 用于将汇编语言源程序转换为机器语言 链接器 (linker) 也是一种工具程序, 它把汇编器生成的单个文件组合为一个可执行程序 还有一个相关的工具, 称为调试器 (debugger), 使程序员可以在程序运行时, 单步执行程序并检查寄存器和内存状态 需要哪些硬件和软件? 一台运行 32 位或 64 位 Microsoft Windows 系统的计算机, 并已安装了近期版本的 Microsoft Visual Studio MASM 能创建哪些类型的程序? 32 位保护模式 (32-Bit Protected Mode): 32 位保护模式程序运行于所有的 32 位和 64 位版本的 Microsoft Windows 系统 它们通常比实模式程序更容易编写和理解 从现在开始, 将其简称为 32 位模式 64 位模式 (64-Bit Mode): 64 位程序运行于所有的 64 位版本 Microsoft Windows 系统 16 位实地址模式 (16-Bit Real-Address Mode): 16 位程序运行于 32 位版本 Windows 和嵌入式系统 由于 64 位 Windows 不支持这类程序, 本书只限在第 14 章 ~ 第 17 章讨论这种模式 这些章节是电子版的, 可以在出版社网站上获得 本书有哪些补充资料? 本书网站 ( 上有如下资料 : 汇编语言工作手册 : 一系列的教程 64 位 32 位和 16 位编程的 Irvine 64 Irvine 32 和 Irvine 16 子程序库, 及其完整源代码 本书示例程序的所有源代码 勘误表 入门, 帮助建立 Visual Studio 以使用 Microsoft 汇编器的详细教程 关于高级主题的文章, 限于篇幅, 它们没有包含在本书的印刷版内 在线论坛的链接, 从论坛上可以获得其他使用本书的专家的帮助 能学到什么? 本书将使读者更好地了解数据表示 调试 编程和硬件控制 读者将学到 : x86 处理器应用的计算机体系结构的基本原理 基本布尔逻辑, 以及它是如何应用于编程和计算机硬件的 使用保护模式和虚模式时,x86 处理器如何管理内存 高级语言编译器 ( 如 C++) 如何将其语句转换为汇编语言和原生机器代码 高级语言如何在机器级实现算术表达式 循环和逻辑结构 数据表示, 包括有符号和无符号整数 实数以及字符数据 如何在机器级调试程序 使用 C 和 C++ 语言时, 它们生成的是原生机器代码, 这个技术显得至关重要

3 基本概念 3 应用程序如何通过中断处理程序和系统调用与计算机操作系统进行通信 如何连接汇编语言代码与 C++ 程序 如何创建汇编语言应用程序 汇编语言与机器语言有什么关系? 机器语言 (machine language) 是一种数字语言, 专门设计成能被计算机处理器 (CPU) 理解 所有 x86 处理器都理解共同的机器语言 汇编语言 (assembly language) 包含用短助记符如 ADD MOV SUB 和 CALL 书写的语句 汇编语言与机器语言是一对一 (one-to-one) 的关系 : 每一条汇编语言指令对应一条机器语言指令 C++ 和 Java 与汇编语言有什么关系? 高级语言如 Python C++ 和 Java 与汇编语言和机器语言的关系是一对多 (one-to-many) 比如,C++ 的一条语句就会扩展为多条汇编指令或机器指令 大多数人无法阅读原始机器代码, 因此, 本书探讨的是与之最接近的汇编语言 例如, 下面的 C++ 代码进行了两个算术操作, 并将结果赋给一个变量 假设 X 和 Y 是整数 : 与之等价的汇编语言程序如下所示 这种转换需要多条语句, 因为每条汇编语句只对应一条机器指令 : ;Y 送入 EAX 寄存器 ;EAX 寄存器内容加 4 ;3 送入 EBX 寄存器 ;EAX 与 EBX 相乘 ;EAX 的值送入 X ( 寄存器 (register) 是 CPU 中被命名的存储位置, 用于保存操作的中间结果 ) 这个例子的重点不是说明 C++ 与汇编语言哪个更好, 而是展示它们的关系 汇编语言可移植吗? 一种语言, 如果它的源程序能够在各种各样的计算机系统中进行编译和运行, 那么这种语言被称为是可移植的 (portable) 例如, 一个 C++ 程序, 除非需要特别引用某种操作系统的库函数, 否则它就几乎可以在任何一台计算机上编译和运行 Java 语言的一大特点就是, 其编译好的程序几乎能在所有计算机系统中运行 汇编语言不是可移植的, 因为它是为特定处理器系列设计的 目前广泛使用的有多种不同的汇编语言, 每一种都基于一个处理器系列 对于一些广为人知的处理器系列如 Motorola 68x00 x86 SUN Sparc Vax 和 IBM-370, 汇编语言指令会直接与该计算机体系结构相匹配, 或者在执行时用一种被称为微代码解释器 (microcode interpreter) 的处理器内置程序来进行转换 为什么要学习汇编语言? 如果对学习汇编语言还心存疑虑, 考虑一下这些观点 : 如果是学习计算机工程, 那么很可能会被要求写嵌入式 (embedded) 程序 嵌入式程序是指一些存放在专用设备中小容量存储器内的短程序, 这些专用设备包括 : 电话 汽车燃油和点火系统 空调控制系统 安全系统 数据采集仪器 显卡 声卡 硬盘驱动器 调制解调器和打印机 由于汇编语言占用内存少, 因此它是编写嵌入式程序的理想工具 处理仿真和硬件监控的实时应用程序要求精确定时和响应 高级语言不会让程序员对编译器生成的机器代码进行精确控制 汇编语言则允许程序员精确指定程序的可 4

4 4 第 1 章 5 执行代码 电脑游戏要求软件在减少代码大小和加快执行速度方面进行高度优化 就针对一个目标系统编写能够充分利用其硬件特性的代码而言, 游戏程序员都是专家 他们经常选择汇编语言作为工具, 因为汇编语言允许直接访问计算机硬件, 所以, 为了提高速度可以对代码进行手工优化 汇编语言有助于形成对计算机硬件 操作系统和应用程序之间交互的全面理解 使用汇编语言, 可以运用并检验从计算机体系结构和操作系统课程中获得的理论知识 一些高级语言对其数据表示进行了抽象, 这使得它们在执行底层任务时显得有些不方便, 如位控制 在这种情况下, 程序员常常会调用使用汇编语言编写的子程序来完成他们的任务 硬件制造商为其销售的设备创建设备驱动程序 设备驱动程序 (device driver) 是一种程序, 它把通用操作系统指令转换为对硬件细节的具体引用 比如, 打印机制造商就为他们销售的每一种型号都创建了一种不同的 MS-Windows 设备驱动程序 通常, 这些设备驱动程序包含了大量的汇编语言代码 汇编语言有规则吗? 大多数汇编语言规则都是以目标处理器及其机器语言的物理局限性为基础的 比如,CPU 要求两个指令操作数的大小相同 与 C++ 或 Java 相比, 汇编语言的规则较少, 因为, 前者是用语法规则来减少意外的逻辑错误, 而这是以限制底层数据访问为代价的 汇编语言程序员可以很容易地绕过高级语言的限制性特征 例如,Java 就不允许访问特定的内存地址 程序员可以使用 JNI(Java Native Interface) 类来调用 C 函数绕过这个限制, 可结果程序不容易维护 反之, 汇编语言可以访问所有的内存地址 但这种自由的代价也很高 : 汇编语言程序员需要花费大量的时间进行调试! 汇编语言的应用 早期在编程时, 大多数应用程序部分或全部用汇编语言编写 它们不得不适应小内存, 并尽可能在慢速处理器上有效运行 随着内存容量越来越大, 以及处理器速度急速提高, 程 序变得越来越复杂 程序员也转向高级语言如 C FORTRAN 和 COBOL, 这些语言具有很 多结构化能力 最近,Python C++ C# 和 Java 等面向对象语言已经能够编写含数百万行 代码的复杂程序了 很少能看到完全用汇编语言编写的大型应用程序, 因为它们需要花费大量的时间进行编 写和维护 不过, 汇编语言可以用于优化应用程序的部分代码来提升速度, 或用于访问计算 机硬件 表 1-1 比较了汇编语言和高级语言对各种应用类型的适应性 表 1-1 汇编语言与高级语言的比较 应用类型 高级语言 汇编语言 最小规范结构, 因此必须由具有不同商业或科学应用程序, 为单一规范结构使其易于组织和维护大量代码程度经验的程序员来维护结构 这导致的中型或大型平台编写对已有代码的维护困难 硬件设备驱动程序 语言不一定提供对硬件的直接访问 对硬件的访问直接且简单 当程序较即使提供了, 可能也需要难以控制的编短且文档良好时易于维护码技术, 这导致维护困难 为多个平台 ( 不同的操作系统 ) 编写的商业或科学应用程序 通常可移植 在每个目标操作系统上, 源程序只做少量修改就能重新编译 需要为每个平台单独重新编写代码, 每个汇编器都使用不同的语法 维护困难

5 基本概念 5 ( 续 ) 应用类型高级语言汇编语言 需要直接访问硬件的嵌入式系统和电脑游戏 可能生成很大的可执行文件, 以至于超出设备的内存容量 理想, 因为可执行代码小, 运行速度快 C 和 C++ 语言具有一个独特的特性, 能够在高级结构和底层细节之间进行平衡 直接访问硬件是可能的, 但是完全不可移植 大多数 C 和 C++ 编译器都允许在其代码中嵌入汇编语句, 以提供对硬件细节的访问 本节回顾 1. 汇编器和链接器是如何一起工作的? 2. 学习汇编语言如何能提高你对操作系统的理解? 3. 比较高级语言和机器语言时, 一对多关系是什么意思? 4. 解释编程语言中的可移植性概念 5. x86 处理器的汇编语言与 Vax 或 Motorola 68x00 等机器的汇编语言是一样的吗? 6. 举一个嵌入式系统应用程序的例子 7. 什么是设备驱动程序? 8. 汇编语言和 C/C++ 语言中的指针变量类型检查, 哪一个更强 ( 更严格 )? 9. 给出两种应用类型, 与高级语言相比, 它们更适合使用汇编语言 10. 编写程序来直接访问打印机端口时, 为什么高级语言不是理想工具? 11. 为什么汇编语言不常用于编写大型应用程序? 12. 挑战 : 参考本章前面给出的例子, 将下述 C++ 表达式转换为汇编语言 :X=(Y*4) 虚拟机概念 虚拟机概念 (virtual machine machine) 是一种说明计算机硬件和软件关系的有效方法 在安德鲁 塔嫩鲍姆 (Andrew Tanenbaum) 的书 结构化计算机组织 ( Structured Computer Organization) 中可以找到对这个模型广为人知的解释 要说明这个概念, 先从计算机的最基本功能开始, 即执行程序 计算机通常可以执行用其原生机器语言编写的程序 这种语言中的每一条指令都简单到可以用相对少量的电子电路来执行 为了简便, 称这种语言为 L0 由于 L0 极其详细, 并且只由数字组成, 因此, 程序员用其编写程序就非常困难 如果能够构造一种较易使用的新语言 L1, 那么就可以用 L1 编写程序 有两种实现方法 : 解释 (Interpretation): 运行 L1 程序时, 它的每一条指令都由一个用 L0 语言编写的程序进行译码和执行 L1 程序可以立即开始运行, 但是在执行之前, 必须对每条指令进行译码 翻译 (Translation): 由一个专门设计的 L0 程序将整个 L1 程序转换为 L0 程序 然后, 得到的 L0 程序就可以直接在计算机硬件上执行 1. 虚拟机与只使用语言描述相比, 把每一层都想象成有一台假设的计算机或者虚拟机会更容易一些 通俗地说, 虚拟机可以定义为一个软件程序, 用来模拟一些其他的物理或虚拟计算机的功能 虚拟机, 将其称为 VM1, 可以执行 L1 语言编写的指令 虚拟机 VM0 可以执行 L0 7

6 6 第 1 章 语言编写的指令 : 虚拟机 VM1 虚拟机 VM0 8 每一个虚拟机既可以用硬件构成也可以用软件构成 程序员可以为虚拟机 VM1 编写程序, 如果能把 VM1 当作真实计算机予以实现, 那么, 程序就能直接在这个硬件上执行 否则, 用 VM1 写出的程序就被翻译 / 解释为 VM0 程序, 并在机器 VM0 上执行 机器 VM1 与 VM0 之间的差异不能太大, 否则, 翻译或解释花费的时间就会非常多 如果 VM1 语言对程序员来说还不够友好到足以用于应用程序的开发呢? 可以为此设计另一个更加易于理解的虚拟机 VM2 这个过程能够不断重复, 直到虚拟机 VMn 足够支持功能强大 使用方便的语言 Java 编程语言就是以虚拟机概念为基础的 Java 编译器把用 Java 语言编写的程序翻译为 Java 字节码 (Java byte code) 后者是一种低级语言, 能够在运行时由 Java 虚拟机 (JVM) 程序快速执行 JVM 已经在许多不同的计算机系统上实现了, 这使得 Java 程序相对而言独立于系统 Level 4 高级语言 2. 特定的机器与实际机器和语言相对, 用 Level 2 表示 VM2,Level 1 Level 3 汇编语言表示 VM1, 如图 1-1 所示 计算机数字逻辑硬件表示为 Level Level 2 指令集架构 (IAS) 1 机器 其上是 Level 2, 称为指令集架构 (ISA,Instruction Level 1 数字逻辑 Set Architecture) 通常, 这是用户可以编程的第一个层次, 尽管这种程序包含的是被称为机器语言的二进制数值 图 1-1 虚拟机层次结构指令集架构 (Level 2) 计算机芯片制造商在处理器内部设计一个指令集来实现基本操作, 如传送 加法或乘法 这个指令集也被称为机器语言 每一个机器语言指令或者直接在机器硬件上执行, 或者由嵌入到微处理器芯片的程序来执行, 该程序被称为微程序 微程序的讨论不在本书范围内, 如果想要了解其更多细节, 可以参阅 Tanenbaum 的著作 汇编语言 (Level 3) 在 ISA 层, 编程语言提供了一个翻译层, 来实践大规模软件开发 汇编语言出现在 Level3, 使用短助记符, 如 ADD SUB 和 MOV, 易于转换到 ISA 层 汇编语言程序在执行之前要全部翻译 ( 汇编 ) 为机器语言 高级语言 (Level 4) Level4 是高级编程语言, 如 C C++ 和 Java 这些语言程序所包含的语句功能强大, 并翻译为多条汇编语言指令 比如, 查看 C++ 编译器生成的列表文件输出, 就可以看到这样的翻译 汇编语言代码由编译器自动汇编为机器语言 本节回顾 1. 用自己的话描述虚拟机概念 2. 为什么认为翻译的程序比解释的程序执行起来更快? 3. ( 真 / 假 ): 当 L1 语言编写的解释程序运行时, 其每一条指令都由用 L0 语言编写的程序进行解码和执行 4. 当处理不同虚拟机层次的语言时, 说明翻译的重要性 5. 本节给出的虚拟机示例中, 汇编语言出现在哪一层?

7 基本概念 7 6. 什么软件程序使得被编译的 Java 程序能够在几乎所有计算机上运行? 7. 从低到高, 说出本节命名的四个虚拟机层次 8. 为什么程序员不用机器语言编写应用程序? 9. 图 1-1 中, 哪个虚拟机层次使用机器语言? 10. 汇编语言虚拟机的语句被翻译为哪个层次的语句? 1.3 数据表示 汇编语言程序员处理的是物理级数据, 因此他们必须善于检查内存和寄存器 通常, 二 进制数被用于描述计算机内存的内容 ; 有时也使用十进制和十六进制数 所以必须熟练掌握 数字格式, 以便快速地进行数字的格式转换 每一种数制格式或系统, 都有一个基数 (base), 也就是可以分配给单一数字的最大符号 表 1-2 二进制 八进制 十进制和十六进制数字 数 表 1-2 给出了数制系统内可能的数字, 这些 系统 基数 可能的数字 系统是硬件和软件手册中最常使用的 在表的最后一行, 十六进制使用的是数字 0 到 9, 然后字母 A 到 F 表示十进制数 10 到 15 在展示计算机内存的内容和机器级指令时, 使用十六进制是相当常见的 二进制八进制十进制十六进制 ABCDEF 二进制整数计算机以电子电荷集合的形式在内存中保存指令和数据 用数字来表示这些内容就需要系统能够适应开 / 关 (on/off) 或真 / 假 (true/false) 的概念 二进制数 (binary number) 用 2 个数字作基础, 其中每一个二进制数字 ( 称为位,bit) 不是 0 就是 1 位自右向左, 从 0 开始顺序增量编号 左边的位称为最高有效位 (Most Significant Bit,MSB), 右边的位称为最低有效位 (LSB,least significant bit) 一个 16 位的二进制数, 其 MSB 和 LSB 如下图所示 : MSB LSB 位的序号 二进制整数可以是有符号的, 也可以是无符号的 有符号整数又分为正数和负数, 无符号整数默认为正数, 零也被看作是正数 在书写较大的二进制数时, 有些人喜欢 每 4 位或 8 位插入一个点号, 以增加数字的易读性 比如, 和 无符号二进制整数 从 LSB 开始, 无符号二进制整数中的每一个位代表的是 2 的加 1 次幂 下图展示的是, 对一个 8 位的二进制数来说,2 的幂是如何从右到左增加的 : 表 1-3 列出了从 2 0 到 2 15 的十进制值 10

8 8 第 1 章 2 n 表 1-3 十进制值 二进制位的位置对应值 2 n 十进制值 无符号二进制整数到十进制数的转换 对于一个包含 n 个数字的无符号二进制整数来说, 加权位记数法 (weighted positional notation) 提供了一种简便的方法来计算其十进制值 : dec = (D n-1 2 n-1 ) + (D n-2 2 n-2 ) + + (D ) + (D ) D 表示一个二进制数字 比如, 二进制数 就等于 9 计算该值时, 剔除了数 字等于 0 的位 : 下图表示了同样的计算过程 : (1 2 3 ) + (1 2 0 ) = 无符号十进制整数到二进制数的转换将无符号十进制整数转换为二进制, 方法是不断将这个整数除以 2, 并将每个余数记录为一个二进制数字 下表展示的是十进制数 37 转换为二进制数的步骤 余数的数字, 从第二行开始, 分别表示的是二进制数字 D 0 D 1 D 2 D 3 D 4 和 D 5 : 除法 商 余数 除法 商 余数 37/ / / / / / 将表中余数列的二进制位逆序连接 (D 5,D 4, ), 就得到了该整数的二进制值 由于计算机总是按照 8 的倍数来组织二进制数字, 因此在该二进制数的左边增加两个 0, 形成 提示有多少位呢? 设无符号十进制值为 n, 其对应的二进制数的位数为 b, 用一个简单的公式就可以计算出 b :b=(log 2 n) 的上限 比如, 如果 n=17, 则 log 2 17= , 取其上限的最小整数 5 大多数计数器没有以 2 为底的对数运算, 但是有些网页可以帮助实现这种计算 二进制加法 两个二进制整数相加时, 是位对位处理的, 从最低的一对位 ( 右边 ) 开始, 依序将每一

9 基本概念 9 对位进行加法运算 两个二进制数字相加, 有四种结果, 如下所示 : = = = = 10 1 与 1 相加的结果是二进制的 10( 等于十进制的 2) 多出来的数字向更高位产生一个进位 如下图所示, 两个二进制数 和 相加 : 进位 : (4) (7) (11) 位的序号 从两个数的最低位 ( 位 0) 开始, 计算 0+1, 得到底行对应位上的 1 然后计算次低位 ( 位 1) 在位 2 上, 计算 1+1, 结果是 0, 并产生一个进位 1 然后计算位 3,0+0, 还要加上位 2 的进位, 结果是 1 其余的位都是 0 上图右边是等价的十进制数值加法(4+7=11), 可以用于验证左边的二进制加法 有些情况下, 最高有效位会产生进位 这时, 预留存储区的大小就显得很重要 比如, 如果计算 加 , 就会在最高有效位之外产生一个 1, 而和数的低 8 位则为全 0 如果和数的存储大小最少有 9 位, 那么就可以将和数表示为 但是, 如果和数只能保存 8 位, 那么它就等于 , 也就是计算结果的低 8 位 整数存储大小在 x86 计算机中, 所有数据存储的基本单位都是字节 (byte), 一个字节有 8 位 其他的存储单位还有字 (word)( 2 个字节 ), 双字 (doubleword)( 4 个字节 ) 和四字 (quadword)( 8 个字节 ) 下图展示了每个存储单位所包含的位的个数: 字节 8 字 16 双字 32 四节 64 八字 128 表 1-4 列出了所有无符号整数可能的取值范围 大的度量单位对内存和磁盘空间而言, 还可以使用大的度量单位 : 1 千字节 (kilobyte) 等于 2 10, 或 1024 个字节 1 兆字节 (megabyte)( 1MB) 等于 2 20, 或 字节 1 吉字节 (gigabyte)( 1GB) 等于 2 30, 即 , 或 字节 1 太字节 (terabyte)( 1TB) 等于 2 40, 即 , 或 字节 1 拍字节 (petabyte) 等于 2 50, 或 字节

10 10 第 1 章 1 艾字节 (exabyte) 等于 2 60, 或 字节 1 泽字节 (zettabyte) 等于 2 70 个字节 1 尧字节 (yottabyte) 等于 2 80 个字节 表 1-4 无符号整数类型的取值范围和大小 类型 取值范围 按位计的存储大小 类型 取值范围 按位计的存储大小 无符号字节 0 到 无符号四字 0 到 无符号字 0 到 无符号八字 0 到 无符号双字 0 到 十六进制整数 13 大的二进制数读起来很麻烦, 因此十六进制数字就提供了一种简便的方式来表示二进制数据 十六进制整数中的 1 个数字就表示了 4 位二进制位, 两个十六进制数字就能表示一个字节 一个十六进制数字表示的范围是十进制数 0 到 15, 所以, 用字母 A 到 F 来代表十进制数 10 到 15 表 1-5 列出了每个 4 位二进制序列如何转换为十进制和十六进制数值 表 1-5 二进制 十进制和十六进制等值表 二进制 十进制 十六进制 二进制 十进制 十六进制 A B C D E F 下面的例子说明了二进制数 是如何与十六进制数 16A794 等价的 1 6 A 无符号十六进制数到十进制的转换 十六进制数中, 每一个数字位都代表了 16 的幂 这有助于计算一个十六进制整数的十 进制值 假设用下标来对一个包含 4 个数字的十六进制数编号 D 3 D 2 D 1 D 0 下式计算了这个 整数的十进制值 : dec = (D ) + (D ) + (D ) + (D ) 这个表达式可以推广到任意 n 位数的十六进制整数 : dec = (D n-1 16 n-1 ) + (D n-2 16 n-2 ) + + (D ) + (D ) 一般情况下, 可以通过公式把基数为 B 的任何 n 位整数转换为十进制数 : dec = (D n-1 B n-1 ) + (D n-2 B n-2 ) + + (D 1 B 1 ) + (D 0 B 0 ) 比如, 十六进制数 1234 就等于 ( )+( )+( )+( ), 也就是十进制数 4660 同样, 十六进制数 3BA4 等于 ( )+( )+( )+( ),

11 基本概念 11 也就是十进制数 下图演示了第二个数转换的计算过程 : = = = = B A 4 总和 : 表 1-6 列出了 16 的幂从 16 0 到 16 7 的十进制数值 14 表 1-6 以 16 为底的幂函数的十进制值 16 n 十进制值 16 n 十进制值 无符号十进制数到十六进制的转换 无符号十进制整数转换到十六进制数的过程是, 把这个十进制数反复除以 16, 每次取 余数作为一个十六进制数字 例如, 下表列出了十进制数 422 转换为十六进制的步骤 : 除法 商 余数 422/ /16 1 A 1/ 表中, 余数列的数字按照最后一行到第一行的顺序, 组合为十六进制的结果 因此本例 中, 十六进制结果就表示为 1A6 同样的算法也适用于 节中的二进制整数 如果要将 十进制数转换为其他进制数, 就在计算时把除数 (16) 换成相应的基数 十六进制加法调试工具程序 ( 称为调试器,debugger) 通常用十六进制表示内存地址 为了定位一个新地址常常需要将两个地址相加 幸运的是, 十六进制加法与十进制加法是一样的, 只需要更换基数就可以了 假设现在要将两个数 X 和 Y 相加, 其基数为 b 对它们数字的编号从最低位(x 0 ) 开 始直到最高位 将 X 和 Y 中对应位 x i 和 y i 相加得到和值 s i 如果 s i b, 则再计算 s i = (s i MOD b), 并产生一个进位 1 当计算下一对数字 x i+1 和 y i+1 的和时, 将该进位加入和值 比如, 现在将两个十六进制数 6A2 和 49A 相加 在最低位上 2+A=12( 十进制数 ), 没有进位, 用十六进制数 C 表示这个和值 在中间位上 A+9=19( 十进制数 ), 由于 19 16( 基数 ), 因此有进位 再计算 19 MOD 16=3, 并向第 3 位产生一个进位 1 最后, 在最高位上计算 1+6+4=11( 十进制数 ), 则在和数的第 3 位上为十六进制数 B 所以, 整个和数的十六进制数为 B3C 15 进位 1 X 6 A 2 Y 4 9 A S B 3 C

12 12 第 1 章 有符号二进制整数有符号二进制整数有正数和负数 在 x86 处理器中,MSB 表示的是符号位 :0 表示正数, 1 表示负数 下图展示了 8 位的正数和负数 : 符号位 负数 正数 1. 补码表示负整数用补码 (two s-complement) 表示时, 使用的数学原理是 : 一个整数的补码是其加法逆元 ( 如果将一个数与其加法逆元相加, 结果为 0 ) 补码表示法对处理器设计者来说很有用, 因为有了它就不需要用两套独立的电路来处理加法和减法 例如, 如果表达式为 A-B, 则处理器就可以很方便地将其转换为加法表达式 : A+(-B) 将一个二进制整数按位取反 ( 求补 ) 再加 1, 就形成了它的补码 以 8 位二进制数 为例, 求其补码为 , 过程如下所示 : 初始值 第一步 : 按位取反 第二步 : 将上一步得到的结果加 和值 : 补码表示 是 -1 的补码 补码操作是可逆的, 因此, 的补码就是 十六进制数的补码将一个十六进制整数按位取反并加 1, 就生成了它的补码 一个简单的十六进制数字取反方法就是用 15 减去该数字 下面是一些十六进制数求补码的例子 : 有符号二进制数到十进制的转换用下面的算法计算一个有符号二进制整数的十进制数值 : 如果最高位是 1, 则该数是补码 再次对其求补, 得到其正数值 然后把这个数值看 作是一个无符号二进制整数, 并求它的十进制数值 如果最高位是 0, 就将其视为无符号二进制整数, 并转换为十进制数 例如, 有符号二进制数 的最高有效位是 1, 这意味着它是一个负数, 首先要 求它的补码, 然后再将结果转换为十进制 过程如下所示 : 初始值 第一步 : 按位取反 第二步 : 将上一步得到的结果加 第三步 : 生成补码 第四步 : 转换为十进制 16 由于初始值 ( ) 是负数, 因此其十进制数值为 -16

13 基本概念 13 有符号十进制数到二进制的转换有符号十进制整数转换为二进制的步骤如下 : 1) 把十进制整数的绝对值转换为二进制数 2) 如果初始十进制数是负数, 则在第 1 步的基础上, 求该二进制数的补码 比如, 十进制数 -43 转换为二进制的过程为 : 1) 无符号数 43 的二进制表示为 ) 由于初始数值是负数, 因此, 求出 的补码 这就是十进制数 -43 的二进制表示 有符号十进制数到十六进制的转换有符号十进制整数转换为十六进制的步骤如下 : 1) 把十进制整数的绝对值转换为十六进制数 2) 如果初始十进制数是负数, 则在第 1 步的基础上, 求该十六进制数的补码 有符号十六进制数到十进制的转换有符号十六进制整数转换为十进制的步骤如下 : 1) 如果十六进制整数是负数, 求其补码, 否则保持该数不变 2) 把第 1 步得到的整数转换为十进制 如果初始值是负数, 则在该十进制整数的前面加负号 通过检查十六进制数的最高有效 ( 最高 ) 位, 就可以知道该数是正数还是负数 如果最高位 8, 该数是负数 ; 如果最高位 7, 该数是正数 比如, 十六进制数 8A20 是负数, 而 7FD9 是正数 2. 最大值和最小值 n 位有符号整数只用 n-1 来表示该数的范围 表 1-7 列出了有符号单字节 字 双字 四字和八字的最大值与最小值 17 表 1-7 有符号整数类型的范围与大小 类型 范围 存储位数 类型 范围 存储位数 有符号字节 -2 7 到 有符号四字 到 有符号字 到 有符号八字 到 有符号双字 到 二进制减法 如果采用与十进制减法相同的方法, 那么从一个较大的二进制数中减去一个较小的无符号二进制数就很容易了 示例如下 : 十进制数十进制数 位 0 上的减法非常简单 : 下一个位置上执行 (0-1), 要向左边的相邻位借 1 其结果是从 2 中减去 1:

14 14 第 1 章 再下一位上, 又要向左边的相邻位借一位, 并从 2 中减去 1: 最后, 最高两位都执行的是零减去零 : 十进制数 6 18 执行二进制减法还有更简单的方法, 即将被减去数的符号位取反, 然后将两数相加 这个方法要求用一个额外的位来保存数的符号 现在以刚才计算的 ( ) 为例来试一下这个方法 首先, 将 按位取反 (11000) 加 1, 得到 然后, 把两个二进制数值相加, 并忽略最高位的进位 : 结果正是我们预期的 字符存储如果计算机只存储二进制数据, 那么它如何表示字符呢? 计算机使用的是字符集, 将字符映射为整数 早期, 字符集只用 8 位表示 即使是现在, 在字符模式 ( 如 MS-DOS) 下运行时,IBM 兼容微机使用的还是 ASCII( 读为 askey ) 字符集 ASCII 是美国标准信息交换码 (American Standard Code for Information Interchange) 的首字母缩写 在 ASCII 中, 每个字符都被分配了一个独一无二的 7 位整数 由于 ASCII 只用字节中的低 7 位, 因此最高位在不同计算机上被用于创建其专有字符集 比如,IBM 兼容微机就用数值 128 ~ 255 来表示图形符号和希腊字符 ANSI 字符集美国国家标准协会 (ANSI) 定义了 8 位字符集来表示多达 256 个字符 前 128 个字符对应标准美国键盘上的字母和符号 后 128 个字符表示特殊字符, 诸如国际字母表 重音符号 货币符号和分数 Microsoft Windows 早期版本使用 ANSI 字符集 Unicode 标准当前, 计算机必须能表示计算机软件中世界上各种各样的语言 因此, Unicode 被创建出来, 用于提供一种定义文字和符号的通用方法 它定义了数字代码 ( 称为代码点 (code point)), 定义的对象为文字 符号以及所有主要语言中使用的标点符号, 包括欧洲字母文字 中东的从右到左书写的文字和很多亚洲文字 代码点转换为可显示字符的格式有三种 : UTF-8 用于 HTML, 与 ASCII 有相同的字节数值 UTF-16 用于节约使用内存与高效访问字符相互平衡的环境中 比如,Microsoft Windows 近期版本使用了 UTF-16, 其中的每个字符都有一个 16 位的编码 UTF-32 用于不考虑空间, 但需要固定宽度字符的环境中 每个字符都有一个 32 位的编码 ASCII 字符串有一个或多个字符的序列被称为字符串 (string) 更具体地说, 一个

15 基本概念 15 ASCII 字符串是保存在内存中的, 包含了 ASCII 代码的连续字节 比如, 字符串 ABC123 的数字代码是 41h 42h 43h 31h 32h 和 33h 以空字节结束(null-terminated) 的字符串是指, 在字符串的结尾处有一个为 0 的字节 C 和 C++ 语言使用的是以空字节结束的字符串, 一些 Windows 操作系统函数也要求字符串使用这种格式 使用 ASCII 表本书文前的表格列出了在 Windows 控制台模式下运行时使用的 ASCII 码 在查找字符的十六进制 ASCII 码时, 先沿着表格最上面一行, 再找到包含要转换字符的列即可 表格第二行是该十六进制数值的最高位 ; 左起第二列是最低位 例如, 要查找字母 a 的 ASCII 码, 先找到包含该字母的列, 在这一列第二行中找到第一个十六进制数字 6 然后, 找到包含 a 的行的左起第二列, 其数字为 1 因此,a 的 ASCII 码是十六进制数 61 下图用简单的形式说明了这个过程 : 19 b 1 a ASCII 控制字符 0 ~ 31 的字符代码被称为 ASCII 控制字符 若程序用这些代码编写 标准输出 ( 比如 C++ 中 ), 控制字符就会执行预先定义的动作 表 1-8 列出了该范围内最常 用的字符, 完整列表参见本书文前 表 1-8 ASCII 控制字符 ASCII 码 ( 十进制 ) 说明 ASCII 码 ( 十进制 ) 说明 8 回退符 ( 向左移动一列 ) 12 换页符 ( 移动到下一个打印页 ) 9 水平制表符 ( 向前跳过 n 列 ) 13 回车符 ( 移动到最左边的输出列 ) 10 换行符 ( 移动到下一个输出行 ) 27 换码符 数字数据表示术语用精确的术语描述内存中和显示屏上的数字及字符是非常重要的 比如, 在内存中用单字节保存十进制数 65, 形式为 调试程序可能会将该字节显示为 41, 这个数字的十六进制形式 如果这个字节复制到显存中, 则显示屏上可能显示字母 A, 因为在 ASCII 码中, 代表的是字母 A 由于数字的解释可以依赖于它的上下文, 因此, 下面为每个数据表示类型分配一个特定的名称, 以便将来的讨论更加清晰 : 二进制整数是指, 以其原始格式保存在内存中的整数, 以备用于计算 二进制整数保存形式为 8 位的倍数 ( 如 或 64) 数字字符串是一串 ASCII 字符, 例如 123 或 65 这是一种简单的数字表示法, 表 1-9 以十进制数 65 为例, 列出了这种表示法能使用的各种形式 20 表 1-9 数字字符串类型 格式 数值 格式 数值 二进制数字字符串 十六进制数字字符串 41 十进制数字字符串 65 八进制数字字符串 本节回顾 1. 术语解释 : 最低有效位 (LSB) 2. 下列无符号二进制整数的十进制表示分别是什么?

16 16 第 1 章 21 a b c 下列每组二进制整数的和分别是多少? a b c 下列每种数据类型各包含多少个字节? a. 字 b. 双字 c. 四字 d. 八字 5. 若要表示下列无符号十进制整数, 则最少需要几位二进制数位? a. 65 b. 409 c 写出下列二进制数的十六进制表示 a b c 写出下列十六进制数的二进制表示 a. A4693FBC b. B697C7A1 c. 2B3D 布尔表达式布尔代数 (boolean algebra) 定义了一组操作, 其值为真 (true) 或假 (false) 它的发明者是十九世纪中叶的数学家乔治 布尔 (George Boole) 在数字计算机发明的早期, 人们发现布尔代数可以用来描述数字电路的设计 同时, 在计算机程序中, 布尔表达式被用来表示逻辑操作 一个布尔表达式 (boolean expression) 包括一个布尔运算符以及一个或多个操作数 每个布尔表达式都意味着一个为真或假的值 以下为运算符集合 : 非 (NOT): 标记为 或 ~ 或 与 (AND): 标记为 或 或 (OR): 标记为 或 + NOT 是一元运算符, 其他运算符都是二元的 布尔表达式的操作数也可以是布尔表达 式 示例如下 : 表达式 说明 表达式 说明 X NOT X X Y (NOT X) OR Y X Y X AND Y (X Y) NOT (X AND Y) X Y X OR Y X Y X AND (NOT Y) NOT NOT 运算符将布尔值取反 用数学符号书写为 X, 其中,X 是一个变量 ( 或表达式 ), 其值为真 (T) 或假 (F) 下表列出了对变量 X 进行 NOT 运算后所有可能的输出 左边为输入, 右边 ( 阴影部分 ) 为输出 : X F T X T F 真值表中,0 表示假,1 表示真 AND 布尔运算符 AND 需要两个操作数, 用符号表示为 X Y 下表列出了对变量 X 和 Y 进行 AND 运算后, 所有可能的输出 ( 阴影部分 ):

17 基本概念 17 X Y X Y F F F F T F T F F T T T 当两个输入都是真时, 输出才为真 这与 C++ 和 Java 的复合布尔表达式中的逻辑 AND 是相对应的 X: 汇编语言中 AND 运算符是按位操作的 如下例所示,X 中的每一位都与 Y 中的相应位进 AND AND AND AND AND AND AND AND 行 AND 运算 : Y: 如图 1-2 所示, 结果值 中的每一位表示的是 X 和 Y 相应位的 AND 运算结果 XY OR 布尔运算符 OR 需要两个操作数, 用符 图 1-2 两个二进制整数按位 AND 运算 号表示为 X Y 下表列出了对变量 X 和 Y 进行 OR 运算后, 所有可能的输出 ( 阴影部分 ): X Y X F F F F T T T F T T T T 当两个输入都是假时, 输出才为假 这个真值表与 C++ 和 Java 的复合布尔表达式中的 逻辑 OR 对应 OR 运算符也是按位操作 在下例中,X 的每一位与 Y 的对应位进行 OR 运算, 结果为 : X: Y OR OR OR OR OR OR OR OR 如图 1-3 所示, 每一位都独立进行 OR 运算, 生成结果中的对应位 Y: 运算符优先级 运算符优先级原则 (operator precedence rule) 用于指示在多运算符表达式中, 先执行哪个运算 在包含多运算符的布尔表达式 X Y 中, 优先级是非常重要的 如下表所示,NOT 图 1-3 两个二进制整数按位 OR 运算 运算符具有最高优先级, 然后是 AND 和 OR 运算符 可以使用括号来强制指定表达式的求值顺序 : 23 表达式运算符顺序 X Y (X Y) X NOT, 然后 OR OR, 然后 NOT (X Z) AND, 然后 OR

18 18 第 1 章 布尔函数真值表 24 布尔函数 (Boolean function) 接收布尔输入, 生成布尔输出 所有布尔函数都可以构造一个真值表来展示全部可能的输入和输出 下面的这些真值表都表示包含两个输入变量 X 和 Y 的布尔函数 右侧的阴影部分是函数输出 : 示例 1: X Y X X Y X F T F T F T T T T F F F T F T T Y 示例 2:X Y X Y Y X Y F F T F F T F F T F T T T T F F 示例 3:(YS) (X S) X Y S Y S S X S (Y S) F F F F T F F F T F F T F F T F F F T T T T T F F T T T F F T F F F F F T T T F F T T F T F F F F T T T T F F T (X S) 25 示例 3 的布尔函数描述了一个多路选择器 (multiplexer), 一种数字组件, 利用一个选择位 (S) 在两个输出 (X 和 Y) 中选择一个 如果 S 为假, 函数输出 (Z) 就和 X 相同 ; 如果 S 为真, 函数输出就和 Y 相同 下面是多路选择器的框图 : S X Y mux Z 本节回顾 1. 描述布尔表达式 X Y 2. 描述布尔表达式 (X Y) 3. 布尔表达式 (T F) T 的值是什么? 4. 布尔表达式 (F T) 的值是什么?

19 基本概念 布尔表达式 F T 的值是什么? 1.5 本章小结 本书侧重于使用 MS-Windows 平台的 x86 处理器编程 内容涉及计算机体系结构 机器语言和底层编程的基本原则 读者将学到足够的汇编语言来测试自己已掌握的关于当前使用最广的微处理器系列的知识 在阅读本书之前, 读者应至少完成一门大学计算机编程课程或与之相当的课程 汇编器是一种程序, 用于把源程序从汇编语言转换为机器语言 与之配合的程序, 称为链接器, 把汇编器生成的单个文件组合成一个可执行程序 第三种程序, 称为调试器, 为程序员提供一种途径来追踪程序的执行过程, 并检查内存的内容 本书大部分内容都是关于 32 位和 64 位程序的, 如果重点关注最后四章, 则是 16 位程序 通过本书将学习到如下概念 : 应用于 x86( 和 Intel 64) 处理器的基本计算机体系结构 ; 基本布尔逻辑 ;x86 处理器如何管理内存 ; 高级语言编译器如何将其语句转换为汇编语言和原生机器代码 ; 高级语言如何在机器级实现算术表达式 循环和逻辑结构 ; 有符号和无符号整数 实数和字符的数据表示 汇编语言与机器语言是一对一的关系, 即一条汇编指令对应于一条机器指令 汇编语言不具有可移植性, 因为它是与具体处理器系统绑定的 编程语言是一种工具, 用于创建独立的应用程序或者部分应用程序 有些应用程序, 如设备驱动和硬件接口程序, 更适合使用汇编语言 而其他应用程序, 如多平台商业和科学应用, 用高级语言则更容易编写 在展示计算机体系结构中的每一层如何表示为一个机器抽象时, 虚拟机概念是一种有效的方式 每层可以用硬件或软件构成, 其上编写的程序可以用其下一层进行翻译或解释 虚拟机概念可以与真实世界中的计算机层次相关, 包括数字逻辑 指令集架构 汇编语言和高级语言 二进制和十六进制数对在机器级工作的程序员来说, 是非常重要的符号工具 因此, 必须理解如何操作数制及其之间的转换, 以及计算机怎样生成字符表示 本章提出了 NOT AND 和 OR 布尔运算符 一个布尔表达式包括一个布尔运算符以及一个或多个操作数 真值表是一种有效方法, 用于展示布尔函数所有可能的输入和输出 关键术语 ASCII ASCII control characters(ascii 控制字符 ) ASCII digit string(ascii 数字串 ) assembler( 汇编器 ) assembly language( 汇编语言 ) binary digit string( 二进制数字串 ) binary integer( 二进制整数 ) bit( 位 / 比特 ) boolean algebra( 布尔代数 ) boolean expression( 布尔表达式 ) boolean function( 布尔函数 ) character set( 字符集 ) code interpretation( 代码解释 ) code point(unicode)( 代码点 ) code translation( 代码翻译 ) debugger( 调试器 ) device driver( 设备驱动程序 ) digit string( 数字串 )

20 20 第 1 章 27 embedded systems application( 嵌入式系统应用 ) exabyte( 艾字节 ) gigabyte( 吉字节 ) hexadecimal digit string( 十六进制数字串 ) hexadecimal integer( 十六进制整数 ) unsigned binary integer( 无符号二进制整数 ) UTF-8 UTF-16 UTF-32 virtual machine(vm)( 虚拟机 ) high-level language( 高级语言 ) instruction set architecture(ias)( 指令集架构 ) Java Native Interface(JNI)(Java 原生接口 ) kilobyte( 千字节 ) language portability( 语言的可移植性 ) least significant bit(lsb)( 最低有效位 (LSB)) machine language( 机器语言 ) megabyte( 兆字节 ) microcode interpreter( 微代码解释器 ) microprogram( 微程序 ) Microsoft Macro Assembler(MASM)(Microsoft 宏汇编器 ) most significant bit(msb)( 最高有效位 ) multiplexer( 多路选择器 ) null-terminated string( 以空字节结束的字符串 ) octal digit string( 八进制数字串 ) one-to-many relationship( 一对多关系 ) operator precedence( 运算符优先级 ) petabyte( 拍字节 ) registers( 寄存器 ) signed binary integer( 有符号二进制整数 ) terabyte( 太字节 ) Unicode( 统一码 ) Unicode Transformation Format(UTF)(Unicode 转换格式 ) Virtual machine concept( 虚拟机概念 ) Visual Studio yottabyte( 尧字节 ) zettabyte( 泽字节 ) 1.7 复习题和练习 简答题 1. 在一个 8 位二进制整数中, 哪一位是最高有效位 (MSB)? 2. 下列无符号二进制整数的十进制表示分别是什么? 3. 下列每组二进制整数的和分别是多少? 4. 计算二进制减法 ( ) 5. 下列每种数据类型各包含多少位? a. 字 b. 双字 c. 四字 d. 八字 6. 表示下列无符号十进制整数时, 需要的最少二进制位分别是多少? a b c 下列二进制数的十六进制表示分别是什么? a b c 下列十六进制数的二进制表示分别是什么? a. 0126F9D4 b. 6ACDFA95 c. F69BDC2A 9. 下列十六进制整数的无符号十进制表示分别是什么?

21 基本概念 21 a. 3A b. 1BF c 下列十六进制整数的无符号十进制表示分别是什么? a. 62 b. 4B3 c. 29F 11. 下列有符号十进制整数的 16 位十六进制表示分别是什么? a. -24 b 下列有符号十进制整数的 16 位十六进制表示分别是什么? a. -21 b 将下列 16 位十六进制有符号整数转换为十进制数 a. 6BF9 b. C 将下列 16 位十六进制有符号整数转换为十进制数 a. 4CD2 b 下列有符号二进制数的十进制表示分别是什么? a b c 下列有符号二进制数的十进制表示分别是什么? a b c 下列有符号十进制整数的 8 位二进制 ( 补码 ) 表示分别是什么? a. -5 b. -42 c 下列有符号十进制整数的 8 位二进制 ( 补码 ) 表示分别是什么? a. -72 b. -98 c 下列每组十六进制整数的和分别是多少? a. 6B4 + 3FE b. A49 + 6BD 20. 下列每组十六进制整数的和分别是多少? a. 7C4 + 3BE b. B69 + 7AD 21. ASCII 字符大写 B 的十六进制和十进制表示分别是什么? 22. ASCII 字符大写 G 的十六进制和十进制表示分别是什么? 23. 挑战 :129 位无符号整数能表示的最大十进制值是多少? 24. 挑战 :86 位有符号整数能表示的最大十进制值是多少? 25. 构造一个真值表, 表示布尔函数 (AB) 所有可能的输入和输出 26. 构造一个真值表, 表示布尔函数 ( A B) 所有可能的输入和输出 说明此表与 25 题真值表中最右列之间的关系 听说过摩根定理吗? 27. 如果一个布尔函数有 4 个输入, 则其真值表需要多少行? 输入的多路选择器需要多少个选择位? 算法基础下列编程练习可以选择任何高级编程语言 不要调用已有的库函数来自动完成这些任务 ( 比如标准 C 库中的 sprinf 和 sscanf 函数 ) 1. 编写一个函数来接收一个 16 位二进制整数字符串 函数返回值为该字符串的整数值 2. 编写一个函数来接收一个 32 位十六进制整数字符串 函数返回值为该字符串的整数值 3. 编写一个函数来接收一个整数 函数返回值必须是包含该整数二进制表示的字符串 4. 编写一个函数来接收一个整数 函数返回值必须是包含该整数十六进制表示的字符串 5. 编写一个函数实现两个以 b 为基数的数字串相加, 其中 2 b 10 每个字符串可包含多达 1000 个数字 函数返回和数, 其形式为基数相同的字符串 6. 编写一个函数实现两个十六进制字符串相加, 每个字符串含 1000 个数字 函数返回一个十六进制字符串来表示输入之和

22 22 第 1 章 编写一个函数实现一个长度为 1000 位的十六进制数字串与单个位的十六进制数字的乘法 函数返回一个十六进制字符串来表示乘积 8. 编写一个 Java 程序实现如下计算, 然后用 javap -c 指令对代码进行反汇编 为每行代码添加注释, 以说明该行代码的目的 9. 设计无符号二进制整数减法 用 ( = ) 来检验该方法 再用至少两组 其他的整数来检验该方法, 每组都是从较大数中减去较小数 本章尾注 Donald Knuth,MMIX,A RISC Computer for the New Millennium, 麻省理工学院讲座记录,1999 年 12 月 30 日

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony Ioncube Php Encoder 8 3 Crack 4 ->>->>->> DOWNLOAD 1 / 5 2 / 5 Press..the..General..Tools..category4Encrypt..and..protect..files..with..PHP..encoding,..encryption,..ob fuscation..and..licensing... 2016

More information

Microsoft Word - em78 sub program.doc

Microsoft Word - em78 sub program.doc 一 二进制数转换为 ASCⅡ 码 将一个字节的二进制数转换为两位 16 进制数的 ASCⅡ 码 main: mov a,@0x9f ; 二进制数为 0x9f mov 0x30,a ; 二进制数存入 0x30 mov a,@0x02 mov 0x10,a ;0x10 中存放转换次数 mov a,@0x31 mov 0x04,a ;0x04 中为转换后数据存放地址 mov a,0x30 B1: ; 取

More information

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th 计算机组成原理习题课 1 授课老师 : 王浩宇 haoyuwang@bupt.edu.cn 1 练习 : 机器数的表示和相互转化 练习 1: 当十六进制数 9B 和 FF 分别表示为原码 补码 反码 移码和无符号数时, 所对应的十进制数各为多少 ( 设机器数采用一位符号位 )? 16 进制 真值 无符号数 原码 ( 真值 ) 反码 ( 真值 ) 补码 ( 真值 ) 移码 ( 真值 ) 9BH 二进制十进制

More information

CH01.indd

CH01.indd 3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac

More information

Microsoft Word - 2-4-1_2 課本1225_OK_0222修.doc

Microsoft Word - 2-4-1_2 課本1225_OK_0222修.doc 第 七 課 玩 積 木 學 程 式 學 習 目 標 1. 學 生 能 夠 說 出 程 式 中 的 指 令 還 要 轉 換 成 電 腦 可 以 了 解 的 命 令 才 能 指 揮 電 腦 工 作 2. 學 生 能 夠 說 出 程 式 語 言 的 發 展 愈 高 階, 愈 像 人 類 的 自 然 語 言 3. 學 生 能 夠 分 辨 程 式 語 言 的 不 同 用 途 4. 學 生 能 夠 說 出 個

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Microsoft Word - 最新正文.doc

Microsoft Word - 最新正文.doc 9 21 1.1.1 1.1.2 1 2 2 Windows 7+Office 2010 3 4 5 6 4 7 1.1.3 5 1.1.4 1 3 2 NII 1993 3 CNNIC 2014 1 16 33 1 2013 12 6.18 5358 45.8% 2012 3.7 2 2013 12 5 19.1% 2012 74.5% 81.0% 2013 3G 2013 12 2.47 2012

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

Microsoft Word - 119002_Java_術科 .doc

Microsoft Word - 119002_Java_術科 .doc 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 (Java) 試 題 編 號 :11900-1000201~3 審 定 日 期 :100 年 6 月 28 日 電 腦 軟 體 設 計 乙 級 技 術 士 技 能 檢 定 術 科 測 試 應 檢 人 參 考 資 料 目 錄 ( 第 二 部 分 ) 壹 電 腦 軟 體 設 計 乙 級 技 術 士 技

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

SuperMap 系列产品介绍

SuperMap 系列产品介绍 wuzhihong@scu.edu.cn 3 / 1 / 16 / John M. Yarbrough: Digital Logic Applications and Design + + 30% 70% 1 CHAPTER 1 Digital Concepts and Number Systems 1.1 Digital and Analog: Basic Concepts P1 1.1 1.1

More information

吉林大学学报 工学版 244 第 4 卷 复杂 鉴于本文篇幅所限 具体公式可详见参考文 献 7 每帧的动力学方程建立及其解算方法如图 3 所示 图4 滚转角速度与输入量 η 随时间的变化波形 Fig 4 Waveform of roll rate and input η with time changing 图5 Fig 5 滚转角随时间的变化波形 Waveform of roll angle with

More information

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作 * 夏传玲 : 本文简要回顾了国内外定性研究在最近 多年的发展概况, 总结 了定性研究的六个发展趋势和分析策略上的三种流派 在上述两种背景下, 本文探讨了计算机辅助的定性分析给定性研究带来的机遇和挑战, 特别是它和手工操作对比时的优势和劣势, 以及应用这种定性分析技术所可能面临的困难 : 定性研究定性分析 文化差异,, (, ),,,, ( - ) ( - ) ( - ) ( - ) ( - ) (

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

第 3 章 数 据 在 计 算 机 中 的 表 示 43 在 进 位 计 数 制 中 有 数 码 数 位 ( 位 置 ) 基 数 和 位 权 等 用 语 数 码 是 在 一 个 计 数 制 中 用 来 表 示 数 值 的 符 号 ; 数 位 是 指 数 码 在 一 个 数 中 所 处 的 位 置 ;

第 3 章 数 据 在 计 算 机 中 的 表 示 43 在 进 位 计 数 制 中 有 数 码 数 位 ( 位 置 ) 基 数 和 位 权 等 用 语 数 码 是 在 一 个 计 数 制 中 用 来 表 示 数 值 的 符 号 ; 数 位 是 指 数 码 在 一 个 数 中 所 处 的 位 置 ; 第 3 章 数 据 在 计 算 机 中 的 表 示 3.1 数 据 与 数 制 计 算 机 中 使 用 的 数 据 一 般 可 以 分 为 两 大 类 : 数 值 数 据 和 字 符 数 据 数 值 数 据 常 用 于 表 示 数 的 大 小 与 正 负 ; 字 符 数 据 则 用 于 表 示 非 数 值 的 信 息, 例 如 : 英 文 汉 字 图 形 和 语 音 等 数 据 数 据 在 计 算

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

More information

《计算机应用基础》学习材料(讲义)

《计算机应用基础》学习材料(讲义) 计 算 机 应 用 基 础 学 习 材 料 ( 讲 义 ) Fundamentals of Computer Application 2014-3-22 JIANGSU OPEN UNIVERSITY 第 二 学 习 周 计 算 机 基 础 知 识 ( 一 ) 导 学 在 本 学 习 周, 我 们 主 要 的 任 务 是 认 识 计 算 机 你 将 知 道 计 算 机 是 什 么 时 候 产 生 的,

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品 Autodesk Product Design Suite Standard 20122 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品设计 Autodesk Product Design Suite Standard 版本包包括以下软件产产品

More information

器之 间 向一致时为正 相反时则为负 ③大量电荷的定向移动形成电 流 单个电荷的定向移动同样形成电流 3 电势与电势差 1 陈述概念 电场中某点处 电荷的电势能 E p 与电荷量 q Ep 的比值叫做该点处的电势 表达式为 V 电场中两点之间的 q 电势之差叫做电势差 表达式为 UAB V A VB 2 理解概念 电势差是电场中任意两点之间的电势之差 与参考点的选择无关 电势是反映电场能的性质的物理量

More information

Microsoft PowerPoint - STU_EC_Ch02.ppt

Microsoft PowerPoint - STU_EC_Ch02.ppt 樹德科技大學資訊工程系 Chapter 2: Number Systems Operations and Codes Shi-Huang Chen Sept. 2010 1 Chapter Outline 2.1 Decimal Numbers 2.2 Binary Numbers 2.3 Decimal-to-Binary Conversion 2.4 Binary Arithmetic 2.5

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

Acer E 15 Graphics Driver Download. Mexico motor Picture redes original Jorge montana

Acer E 15 Graphics Driver Download. Mexico motor Picture redes original Jorge montana Acer E 15 Graphics Driver Download >>> DOWNLOAD 1 / 5 2 / 5 Get...all...the...data...for...your...required...driver...including...models,...availability...and...OS..... Drivers...for...direct...download...are...uploaded...daily...and...rated...by...our...usersWorld'

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

Converting image (bmp/jpg) file into binary format

Converting image (bmp/jpg) file into binary format RAiO Image Tool 操作说明 Version 1.0 July 26, 2016 RAiO Technology Inc. Copyright RAiO Technology Inc. 2013 RAiO TECHNOLOGY INC. www.raio.com.tw Revise History Version Date Description 0.1 September 01, 2014

More information

2 数字电路与逻辑设计 ( 第 2 版 ) 制数的不同位置时, 所代表的数值是不同的 例如十进制数 1961 可写成展开式为 (1961) 其中,10 称为基数, 称为各位数的 权 十进制数个位的权为

2 数字电路与逻辑设计 ( 第 2 版 ) 制数的不同位置时, 所代表的数值是不同的 例如十进制数 1961 可写成展开式为 (1961) 其中,10 称为基数, 称为各位数的 权 十进制数个位的权为 第 1 章 1 第 1 章 1 1 数字信号与数字电路 在自然界中, 存在着各种各样的物理量, 尽管它们的性质各异, 但就其变化规律的特点而言, 可以分为两大类 一类是物理量的变化在时间上和数量上都是离散的, 其数值的变化都是某一个最小数量单位的整数倍, 这一类物理量称为数字量 将表示数字量的信号称为数字信号, 并将工作在数字信号下的电子电路称为数字电路 另一类是物理量的变化在时间上和数值上是连续的,

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

F515_CS_Book.book

F515_CS_Book.book /USB , ( ) / L R 1 > > > 2, / 3 L 1 > > > 2 + - 3, 4 L 1 了解显示屏上显示的图标 Wap 信箱收到一条 Wap push 信息 ( ) GSM 手机已连接到 GSM 网络 指示条越多, 接收质量越好 2 ...........................4.............................. 4 Micro SD (

More information

山东2014第四季新教材《会计基础》冲刺卷第三套

山东2014第四季新教材《会计基础》冲刺卷第三套 2016 年 会 计 从 业 考 试 会 计 基 础 冲 刺 卷 3 一 单 项 选 择 题 ( 本 题 共 20 小 题, 每 小 题 1 分, 共 20 分 在 下 列 每 小 题 的 备 选 项 中, 有 且 只 有 一 个 选 项 是 最 符 合 题 目 要 求 的, 请 将 正 确 答 案 前 的 英 文 字 母 填 入 题 后 的 括 号 内, 不 选 错 选 均 不 得 分 ) 1.

More information

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用 第 卷 第 期 年 月 交通运输工程学报 曹 源 唐 涛 徐田华 穆建成 为了确保列车运行控制系统设计和开发的正确性 比较了仿真 测试和形式化 种能够验证 系统设计正确性的方式 根据列车运行控制系统对安全的苛求性 提出了 个与系统安全相关的重要特性 即实时性 混成性 分布 并发 性 反应性 并分析了与这些特性相关的具体形式化方法 通 过对每种形式化方法的数学基础和应用范围的分析和归类 给出了各种方法的优势和不足

More information

教材 微型计算机与接口技术 ( 第二版 ) 科学出版社楼顺天, 周佳社, 张伟涛编著

教材 微型计算机与接口技术 ( 第二版 ) 科学出版社楼顺天, 周佳社, 张伟涛编著 微机原理与系统设计 授课老师 : 李军, 曾操 Email: junli01@mail.xidian.edu.cn Homepage: http://web.xidian.edu.cn/junli 办公室 : 新科技楼 1606 电话 :88201022 教材 微型计算机与接口技术 ( 第二版 ) 科学出版社楼顺天, 周佳社, 张伟涛编著 课程要求及考核 考核 : 笔试 (60%)+ 平时成绩 (40%)

More information

目 录 1 正 文 乊 前... 5 1.1 目 癿... 5 1.2 本 文 内 容... 5 1.3 声 明... 5 2 字 符 编 码 相 兰 癿 背 景 知 识... 6 2.1 拉 丁 字 母... 6 2.2 什 么 是 字 符 编 码... 6 3 字 符 编 码 标 准... 8

目 录 1 正 文 乊 前... 5 1.1 目 癿... 5 1.2 本 文 内 容... 5 1.3 声 明... 5 2 字 符 编 码 相 兰 癿 背 景 知 识... 6 2.1 拉 丁 字 母... 6 2.2 什 么 是 字 符 编 码... 6 3 字 符 编 码 标 准... 8 关 键 字 字 符 编 码 详 解 版 本 : 1.0 作 者 : crifan 邮 箱 : green-waste (at)163.com 字 符 编 码,ASCII,ISO 8859,ISO 10646,UCS,Unicode,UTF-8 版 本 版 本 日 期 内 容 更 新 1.0 2011-11-02 添 加 了 编 码 相 兰 背 景 知 识 仃 绉 添 加 了 ASCII 和 EASCII

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

目录 1 H3C R4900 G2 服务器可选部件与操作系统兼容性列表 控制卡 GPU 卡 网卡 FC HBA 卡 TPM/TCM 模块 NVMe SSD PCle 加速卡 1-31 i

目录 1 H3C R4900 G2 服务器可选部件与操作系统兼容性列表 控制卡 GPU 卡 网卡 FC HBA 卡 TPM/TCM 模块 NVMe SSD PCle 加速卡 1-31 i 目录 1 H3C R4900 G2 服务器可选部件与操作系统兼容性列表 1-1 1.1 控制卡 1-1 1.2 GPU 卡 1-5 1.3 网卡 1-8 1.4 FC HBA 卡 1-21 1.5 TPM/TCM 模块 1-29 1.6 NVMe SSD PCle 加速卡 1-31 i 1 H3C R4900 G2 服务器可选部件与操作系统兼容性列表 本手册为产品通用资料 对于定制化产品, 请用户以产品实际情况为准

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

/ / (FC 3)...

/ / (FC 3)... Modbus/TCP 1.0 1999 3 29 Andy Swales Schneider aswales@modicon.com ... 2 1.... 3 2.... 3 2.1.. 3 2.2..4 2.3..4 2.4... 5 3.... 5 3.1 0... 5 3.2 1... 5 3.3 2... 6 3.4 / /... 7 4.... 7 5.... 8 5.1 0... 9

More information

就 构 成 了 盗 窃 罪 与 破 坏 交 通 设 施 罪 的 想 象 竞 合, 按 照 其 中 处 罚 较 重 的 犯 罪 处 罚 5. 答 案 :B 本 题 主 要 考 察 如 何 区 分 收 买 被 拐 卖 的 妇 女 儿 童 罪 与 拐 卖 妇 女 儿 童 罪 的 共 犯 问 题 ( 对 向

就 构 成 了 盗 窃 罪 与 破 坏 交 通 设 施 罪 的 想 象 竞 合, 按 照 其 中 处 罚 较 重 的 犯 罪 处 罚 5. 答 案 :B 本 题 主 要 考 察 如 何 区 分 收 买 被 拐 卖 的 妇 女 儿 童 罪 与 拐 卖 妇 女 儿 童 罪 的 共 犯 问 题 ( 对 向 新 东 方 全 国 法 律 硕 士 ( 非 法 学 ) 联 考 模 拟 考 试 专 业 基 础 课 答 案 解 析 一 单 项 选 择 题 1. 答 案 D 本 题 主 要 考 查 刑 法 分 则 中 关 于 亲 告 罪 与 非 亲 告 罪 的 规 定 要 注 意 这 些 亲 告 罪 在 有 特 别 的 情 况 下, 是 公 诉 犯 罪 我 国 刑 法 共 规 定 了 5 种 告 诉 才 处 理 的

More information

求出所有的正整数 n 使得 20n + 2 能整除 2003n n 20n n n 20n n 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y =

求出所有的正整数 n 使得 20n + 2 能整除 2003n n 20n n n 20n n 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y = 求出所有的正整数 n 使得 20n + 2 能整除 2003n + 2002 n 20n + 2 2003n + 2002 n 20n + 2 2003n + 2002 求所有的正整数对 (x, y), 满足 x y = y x y (x, y) x y = y x y. (x, y) x y = y x y 对于任意正整数 n, 记 n 的所有正约数组成的集合为 S n 证明 : S n 中至多有一半元素的个位数为

More information

微机原理--汇编、连接和调试

微机原理--汇编、连接和调试 微机原理课程 汇编语言程序的编辑 汇编 连接和调试 西安电子科技大学 探测制导系 内容提要 编写汇编语言程序的五个重要步骤 编写源程序 汇编过程 连接过程 汇编语言编程过程 DEBUG 主要功能 DEBUG 命令 程序设计举例 结束语 编写汇编语言程序的五个重要步骤 1. 编写源程序, 如 L1.ASM 2. 汇编源程序, 得到目标代码,L1.OBJ 3. 目标代码文件的连接, 生成可执行文件 L1.EXE

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700 M725 CF214X (14X) 17.5 HP 5200 Q7516A U16-2CHIP SSS 846 芯片记号 (U16-2) Canon LBP-3500, LBP-3900, LBP-392

HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700 M725 CF214X (14X) 17.5 HP 5200 Q7516A U16-2CHIP SSS 846 芯片记号 (U16-2) Canon LBP-3500, LBP-3900, LBP-392 HP and Canon 单色通用芯片表在线访问我们的网站, 可以得到更多的信息 : www.scc-inc.com/chipcenter 全部开始都是专利通用芯片一个芯片, 多个不同型号的硒鼓 注意 : 当在这个文档上要寻找一个特殊的 或打印机的型号时, 在你的键盘上同时按 CTRL 键和 F 键就能搜索到 HP and Canon 单色通用芯片表 SCC 芯片 图片 HP 700 M712, 700

More information

201406002+大学计算机基础B.doc

201406002+大学计算机基础B.doc 目 录. 大 学 计 算 机 基 础 B( 非 独 立 设 课 ).... 计 算 机 操 作 基 础 ( 独 立 设 课 )...3 3. 程 序 设 计 基 础 ( 非 独 立 设 课 )...5 4. 面 向 对 象 程 序 设 计 ( 非 独 立 设 课 )...8 5. 数 据 库 原 理 ( 非 独 立 设 课 )...0 6. 算 法 设 计 与 分 析 ( 非 独 立 设 课 )...

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

考 查 知 识 点 肝 气 疏 泄 调 畅 气 机 的 作 用, 主 要 表 现 在 以 下 几 个 方 面 :(1) 促 进 血 液 与 津 液 的 运 行 输 布 ;(2) 促 进 脾 胃 的 运 化 功 能 和 胆 汁 分 泌 排 泄 ;(3) 调 畅 情 志 ;(4) 促 进 男 子 排 精

考 查 知 识 点 肝 气 疏 泄 调 畅 气 机 的 作 用, 主 要 表 现 在 以 下 几 个 方 面 :(1) 促 进 血 液 与 津 液 的 运 行 输 布 ;(2) 促 进 脾 胃 的 运 化 功 能 和 胆 汁 分 泌 排 泄 ;(3) 调 畅 情 志 ;(4) 促 进 男 子 排 精 2015 年 全 国 硕 士 研 究 生 入 学 统 一 考 试 中 医 综 合 科 目 试 题 解 析 一 A 型 题 :1~80 小 题, 每 小 题 1.5 分, 共 120 分 在 每 小 题 给 出 的 A B C D 四 个 选 项 中, 请 选 出 一 项 最 符 合 题 目 要 求 的 1. 提 出 阳 常 有 余, 阴 常 不 足 观 点 的 医 家 是 A 朱 丹 溪 B 刘 完

More information

幻灯片 1

幻灯片 1 第一类换元法 ( 凑微分法 ) 学习指导 复习 : 凑微分 部分常用的凑微分 : () n d d( (4) d d( ); (5) d d(ln ); n n (6) e d d( e ); () d d( b); ); () d d( ); (7) sin d d (cos ) 常见凑微分公式 ); ( ) ( ) ( b d b f d b f ); ( ) ( ) ( n n n n d f

More information

数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编

数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编 数字逻辑电路 中国科学技术大学自动化系关胜晓 E-mail:guanxiao@ustc.edu.cn 电二楼 417 数字电子技术基础 ( 第五版 ) 清华大学电子学教研组编阎石主编 1. 主要内容 说 明 逻辑函数及其化简 集成逻辑门电路 组合逻辑电路和时序逻辑电路的分析 半导体存储器 可编程逻辑器件 脉冲单元电路及数模转换技术 2. 学时 授课 60 学时 讲课第 1 周至 14 周, 第 8

More information

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

微机第02章1(指令寻址)

微机第02章1(指令寻址) 微机原理及应用 主讲 : 谢维成 http://xweicheng.ys168.com scxweicheng@yahoo.com.cn 西华大学电气信息学院 1 2 课程介绍 课程性质 : 必修, 电类专业 ( 信息工程 电气工程 测控技术 应用电子 ) 学科专业技术基础基础课学时 : 授课 48 学时 (3.5 学分 ), 实验 10 学时 ( 单独 ) 考试 : 题库命题统考 ( 笔试 作业实验

More information

中華民國青溪協會第四屆第三次理監事聯席會議資料

中華民國青溪協會第四屆第三次理監事聯席會議資料 - 1 - 中 華 民 國 第 八 屆 第 四 次 理 監 事 聯 席 會 議 程 序 表 日 期 中 華 民 國 1 0 4 年 1 2 月 1 9 日 ( 星 期 六 ) 地 點 臺 南 南 紡 夢 時 代 雅 悅 會 館 五 樓 ( 臺 南 東 區 中 華 東 路 一 段 366 號 ) 項 次 程 序 起 訖 時 間 使 用 時 間 主 持 人 或 報 告 人 報 到 16:30~17:00

More information

计算概论A B03 C++语言的基本成分 - 运算成分(2)

计算概论A B03 C++语言的基本成分 - 运算成分(2) 计算概论 A 程序设计部分 C 语言的构成成分 运算成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn C 语言中的运算符 C 语言的运算符范围很宽 求字节数运算符 : sizeof 下标运算符 [ ] 赋值运算符 = 算术运算符 + - * / % 关系运算符 < > == >= > ~

More information

,,!!!?,?,!,,,,,,,,,,!,,, : 1 ,,,,!, :, :,?,,,, 2 ( 1 ) 7 0 ( 11 ) ( 12 ) ( 13 ) ( 14 ) ( 15 ) ( 17 ) ( 18 ) ( 19 ) ( 21 ) ( 22 ) ( 23 ) ( 25 ) ( 26 ) ( 27 ) ( 29 ) ( 30 ) ( 31 ) ( 32 ) ( 33 ) ( 34 ) (

More information

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式]

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式] C++ 入门 http://hwdong.com 1. 程序 = 数据 + 运算 Application = Data + Operator 程序就是对数据进行加工处理 ( 运算 ) 程序 = 数据 + 运算 数据用变量 ( 常量 ) 表示, 用运算符对它们进行运算 程序 = 变量 + 运算符 程序中的数据应有条理地存储在内存中, 处理需要按照一定步骤或方法进行 程序 = 数据结构 + 算法 机器语言

More information

《米开朗琪罗传》

《米开朗琪罗传》 ! " # ! """"""""""""""""""" """"""""""""""""" """""""""""""""" $% """"""""""""" &# """"""""""""""" %# """"""""""""""" # """""""""""""""!$% """""""""""""""!&!! # $$$$$$$$$$$$$$$$$$ $$$$$$$$$!"#!%& (! "

More information

上海盛瑞电子有限公司

上海盛瑞电子有限公司 2015/5/22 1 / 9 一运动指令 MoveJ MoveJ[\Conc,]ToPoint,Speed[\V] [\T],Zone[\Z][\Inpos],Tool[\WObj]; 1 [\Conc,]: 协作运动开关 (switch) 2 ToPoint: 目标点, 默认为 * (robotarget) 3 Speed: 运行速度数据 (speeddata) 4 [\V]: 特殊运行速度 mm/s

More information

<4D6963726F736F667420506F776572506F696E74202D20B5DAD2BBD5C228B4F2D3A1B0E6292E707074205BBCE6C8DDC4A3CABD5D>

<4D6963726F736F667420506F776572506F696E74202D20B5DAD2BBD5C228B4F2D3A1B0E6292E707074205BBCE6C8DDC4A3CABD5D> Homeworks ( 第 三 版 ):.4 (,, 3).5 (, 3).6. (, 3, 5). (, 4).4.6.7 (,3).9 (, 3, 5) Chapter. Number systems and codes 第 一 章. 数 制 与 编 码 . Overview 概 述 Information is of digital forms in a digital system, and

More information

L3 data representation

L3 data representation Lecture 4: Data Representation 数据的机器级表示 第 4 讲数值数据的表示 数值数据的表示 主要内容 定点数的表示 进位计数制 定点数的二进制编码 - 原码 补码补码 移码表示 定点整数的表示 - 无符号整数 带符号整数 浮点数格式和表示范围 浮点数的规格化 IEEE754 浮点数标准 单精度浮点数 双精度浮点数 特殊数的表示形式 C 语言程序中的整数类型 浮点数类型

More information

Microsoft Word - PKUCS计算机教育-2009-3.doc

Microsoft Word - PKUCS计算机教育-2009-3.doc 北 京 大 学 计 算 机 系 本 科 课 程 改 革 进 展 张 铭, 李 文 新, 陈 徐 宗, 梅 宏 ( 北 京 大 学 信 息 科 学 技 术 学 院, 北 京 100871) 摘 要 : 在 北 京 大 学 信 息 学 院 学 科 交 叉 融 合 的 教 学 改 革 框 架 下, 计 算 机 系 制 定 了 学 院 平 台 课 专 业 基 础 课 专 业 选 修 课 的 三 层 次 培

More information

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H

1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C) (D) 5. ( B ) (Stored Program) (A) H ... 2... 4... 6... 8... 10... 12... 14... 16... 18... 20... 22... 24... 25... 26... 28 1. ( B ) IT (A) (B) (C) (D) 2. ( A ) (A) (B) (C) (D) 3. ( B ) (A) GPS (B) GIS (C) ETC (D) CAI 4. ( D ) (A) (B) (C)

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

Prepare.ppt [兼容模式]

Prepare.ppt [兼容模式] 课前实验 Linux 操作系统的安装 C 语言编程环境的设置 TinyOS 开发环境的设置 一 实验目的 1 学会在计算机或虚拟机环境中安装 Linux 操作系统 2 学会在 Linux 下进行 C 语言编程 3 掌握交叉编译开发, 学会在 Linux 下设置 TinyOS 开发环 境, 能够完成基于 NesC 的 TinyOS 应用程序开发 二 Linux 操作系统的安装 14.04.4-desktop-amd64.iso

More information

* r p . 4 6 12 3 5 7 8 9bk bm btbsbrbqbp bo bn bl [ ] [ ] [ ] [ ] [SET] 1 2 3 4 5 6 7. cmcl ck 8 9 0 bk bl bm bn bo 1 2 1 2+ - bp bq 8 2 4 6 br r bs p bt ck cl cm 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器

数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器 数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器 模拟原型方法 : 模拟低通 - 模拟带通 H ( j) H ( j) 3 3 3 模拟原型方法 : 模拟低通 - 模拟带通 H ( j) 模拟低通

More information

2014 年 87 月 259 日 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 容量 供应商 系列 型号 格式 可用性 兼容性能 备注 500G Seagate Pipeline HD2 ST CS - 可用 Seagate Pi

2014 年 87 月 259 日 K-HW508K / HW516K K-NL408K / NL416K 最新固件版本 :V3.200 容量 供应商 系列 型号 格式 可用性 兼容性能 备注 500G Seagate Pipeline HD2 ST CS - 可用 Seagate Pi 纠正点从 2014 年 5 月 12 日的版本开始 我们缺少的 4TB 硬盘的型号 : WJ-ND400 / 和 WJ-HD616K / WJ-716K / WJ-ND400 WJ-HD616K WJ-HD716K 4TB 红 40PURX-64GVNY0 AF OK 4TB 红 40EFRX-68WT0N0 AF OK 纠正点 1 2014 年 87 月 259 日 K-HW508K / HW516K

More information

4.C ( 详细解析见视频课程 绝对值 01 约 21 分 15 秒处 ) 5.E ( 详细解析见视频课程 绝对值 01 约 32 分 05 秒处 ) 6.D ( 详细解析见视频课程 绝对值 02 约 4 分 28 秒处 ) 7.C ( 详细解析见视频课程 绝对值 02 约 14 分 05 秒处 )

4.C ( 详细解析见视频课程 绝对值 01 约 21 分 15 秒处 ) 5.E ( 详细解析见视频课程 绝对值 01 约 32 分 05 秒处 ) 6.D ( 详细解析见视频课程 绝对值 02 约 4 分 28 秒处 ) 7.C ( 详细解析见视频课程 绝对值 02 约 14 分 05 秒处 ) [ 说明 ] 1. 以下所指教材是指朱杰老师的 管理类联考综合能力数学套路化攻略 2. 该文档中所标答案和参见的教材答案, 与视频有冲突的, 以视频答案为准! 基础篇 第 1 章 数 1.2.1 整数例题答案 : 1. A ( 详细解析见教材 P7 例 2) 2. D ( 详细解析见视频课程 数的性质 约 10 分 53 秒处 ) 3. C ( 详细解析见教材 P7 例 3) 4.E ( 详细解析见视频课程

More information

untitled

untitled SAP SAP Business One ... 4 SAP Business One... 5... 5 SAP Business One... 7 SAP Business One... 8... 8... 8... 9... 10... 11 mysap Business Suite... 12... 13... 14 Copyright 2004 SAP AG. All rights reserved.

More information

20151107083515_題目卷

20151107083515_題目卷 國 中 歷 史 B3:L6 明 代 與 盛 清 的 發 展 練 習 卷 一 單 一 選 擇 題 1. ( ) 明 清 兩 代 的 統 治 措 施 有 何 相 似 之 處? (A) 均 薙 髮 留 辮 (B) 均 種 族 歧 視 (C) 均 興 文 字 獄 (D) 均 設 特 務 機 關 2. ( ) 小 明 參 觀 北 京 的 長 陵, 領 隊 先 生 介 紹 此 乃 明 代 因 發 動 宗 室 之

More information

Microsoft Word - 選擇_無解答2_.doc

Microsoft Word - 選擇_無解答2_.doc 選 擇 題 : 1 ( ) 下 列 何 者 為 W W W 的 通 訊 協 定? (A)H T T P ( H y p e r T e x t T r a n s f e r P r o t o c o l ) (B)S M T P ( S i m p l e M a i l T r a n s f e r P r o t o c o l ) (C) F T P ( F i l e T r a n

More information

教学输入与学习者的语言输出 温晓虹 本文从三个方面探讨了语言的输入与输出的关系 首先从理论研究的角度讨 论了从语言输入到语言输出的习得过程 实验研究表明 输入的语言素材必须被学习者所接收 即使接收了的内容也并不会自动进入中介语的体系 而是需要进一步对输入语言进行 分解 归类等分析性与综合性的处理 在语言 内化 的基础上 学习者的中介语系统才能 够不断地得到重新组合 趋于目的语 另外 学习者在语言输出前和输出时需要调节

More information

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D> 编译原理与技术 中国科学技术大学 计算机科学与技术学院 张昱 陈意云 0551-3603804, 3607043 yuzhang, yiyun@ustc.edu.cn cn 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 包括的理论知识 : 形式语言和自动机理论 语法制导的定义等 课程特点 强调对编译原理和技术的宏观理解, 不把注意力引导到理论和一些枝节算法上 不偏向于任何源语言或目标机器

More information

数学分析(I)短课程 [Part 2] 4mm 自然数、整数和有理数

数学分析(I)短课程 [Part 2]   4mm 自然数、整数和有理数 .. 数学分析 (I) 短课程 [Part 2] 自然数 整数和有理数 孙伟 华东师范大学数学系算子代数中心 Week 2 to 18. Fall 2014 孙伟 ( 数学系算子代数中心 ) 数学分析 (I) 短课程 Week 2 to 18. Fall 2014 1 / 78 3. 自然数理论初步 孙伟 ( 数学系算子代数中心 ) 数学分析 (I) 短课程 Week 2 to 18. Fall 2014

More information

Undergraduate Schedule Course For Clinical Medicine on Jiangsu University

Undergraduate Schedule Course For Clinical Medicine on Jiangsu University Curriculum Schedule for the of Jiangsu University Curriculum Schedule for the Computer Science and Technology of Jiangsu University (009 and later) Duration of Study The study of cst (Computer Science

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 大学计算机 计算思维导论 南京航空航天大学 2015 年 计算机科学与技术学院 huangsj@nuaa.edu.cn http://parnec.nju.edu.cn/huangsj 计算思维导论 第 1 章引论 第 3 章问题求解框架 第 4 章算法与复杂性 第 5 章数据抽象 设计与挖掘 第 6 章计算机网络 信息网络与网络化社会 2.1 理解 0 和 1( 的思维 ) 2.2 图灵机与冯 诺依曼计算机

More information

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD Leica MC170 HD Leica MC190 HD 5 6 7 8 11 12 13 14 16 HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD 22 23 24 26 Leica MC170 HD Leica MC190 HD ( ) 28

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

Chapter #

Chapter # 第三章 TCP/IP 协议栈 本章目标 通过本章的学习, 您应该掌握以下内容 : 掌握 TCP/IP 分层模型 掌握 IP 协议原理 理解 OSI 和 TCP/IP 模型的区别和联系 TCP/IP 介绍 主机 主机 Internet TCP/IP 早期的协议族 全球范围 TCP/IP 协议栈 7 6 5 4 3 应用层表示层会话层传输层网络层 应用层 主机到主机层 Internet 层 2 1 数据链路层

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11 .. 软件综合实验之操作系统 进入保护模式 陈香兰 中国科学技术大学计算机学院 July 1, 2016 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 1 / 11 提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 2 / 11 实验准备 实验环境准备

More information

数值代数 夏银华 中国科学技术大学

数值代数 夏银华 中国科学技术大学 数值代数 夏银华 中国科学技术大学 课程介绍 时间, 地点周二 :6,7 节, 周四 :1,2 节,(1-15 周 ) 地点 :3A211 教材 D. Kincaid and W. Cheney, Numerical Analysis:Mathematics of Scientific Computing, American Mathematical Soc., 2002 参考教材 L.N. Trefethen

More information

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1

学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 主 要 评 估 指 标 关 键 评 估 要 素 自 评 等 级 1.1 学 校 事 业 发 展 规 划 合 格 1. 领 导 作 用 1.2 办 学 目 标 与 定 位 合 格 1.3 对 人 才 培 养 重 视 程 度 合 格 1 目 录 学 院 人 才 培 养 分 项 自 评 报 告 结 果 汇 总 表 1 1 领 导 作 用 2 1.1 学 校 事 业 发 展 规 划 2 1.2 办 学 目 标 与 定 位 6 1.3 对 人 才 培 养 重 视 程 度 11 1.4 校 园 稳 定 15 2 师 资 队 伍 19 2.1 专 任 教 师 19 2.2 兼 职 教 师 24 3 课 程 建 设 27 3.1 课 程 内 容

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜

More information

Ps22Pdf

Ps22Pdf A A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D B C D F G I J A A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C D

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

1 住 房 保 障 10BA 住 房 保 障 索 引 号 : 000013338/2010-00187 主 题 名 称 : 住 房 保 障 发 文 单 位 : 中 华 人 民 共 和 国 住 房 和 城 乡 建 发 文 日 期 : 2010-4-23, 中 华 人 民 共 和 国 民 政 部, 中

1 住 房 保 障 10BA 住 房 保 障 索 引 号 : 000013338/2010-00187 主 题 名 称 : 住 房 保 障 发 文 单 位 : 中 华 人 民 共 和 国 住 房 和 城 乡 建 发 文 日 期 : 2010-4-23, 中 华 人 民 共 和 国 民 政 部, 中 住 房 和 城 乡 建 政 府 信 息 公 开 目 录 (2010-1-1 2010-12-31) 1 住 房 保 障 10BA 住 房 保 障 索 引 号 : 000013338/2010-00187 主 题 名 称 : 住 房 保 障 发 文 单 位 : 中 华 人 民 共 和 国 住 房 和 城 乡 建 发 文 日 期 : 2010-4-23, 中 华 人 民 共 和 国 民 政 部, 中 华

More information

投影片 1

投影片 1 2 理 1 2-1 CPU 2-2 CPU 理 2-3 CPU 類 2 什 CPU CPU Central Processing Unit ( 理 ), 理 (Processor), CPU 料 ( 例 ) 邏 ( 例 ),, 若 了 CPU, 3 什 CPU CPU 了, 行, 利 CPU 力 來 行 4 什 CPU 5 2-2-1 CPU CPU 了 (CU, Control Unit) / 邏

More information

Microsoft Word - InoTouch Editor编程软件手册2012.2.10.doc

Microsoft Word - InoTouch Editor编程软件手册2012.2.10.doc 目 录 第 一 章 关 于 InoTouch Editor 编 程 软 件 的 安 装... - 6-1.1 InoTouch 系 列 HMI 和 InoTouch Editor 软 件 的 简 介... - 6-1.2 安 装 InoTouch Editor 编 程 软 件... - 10-1.3 系 统 连 接 图... - 12-1.4 InoTouch 系 列 人 机 界 面 的 系 统 设

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

北京2014年会计从业资格考试《会计基础》备考机试卷一

北京2014年会计从业资格考试《会计基础》备考机试卷一 更 多 内 容 请 查 看 精 品 文 库 网 www.jingpinwenku.com 北 京 2014 年 会 计 从 业 资 格 考 试 会 计 基 础 备 考 机 试 卷 一 1 单 项 选 择 题 ( 下 列 各 题 的 备 选 答 案 中, 请 从 中 选 出 一 个 最 符 合 题 意 的 答 案 本 类 题 共 20 个 小 题, 每 小 题 1 分, 共 20 分 多 选 错 选

More information

大侠素材铺

大侠素材铺 编译原理与技术 词法分析 Ⅱ 计算机科学与技术学院李诚 13/09/2018 主要内容 记号 (token) 源程序 词法分析器 getnexttoken 语法分析器 符号表 词法分析器的自动生成 正则表达式 NFA DFA 化简的 DFA 词法分析器的生成器 Lex: flex jflex Fst lexicl nlyzer genertor 2/51 Regulr Expr to NFA 正则表达式

More information

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

Microsoft Word - zw

Microsoft Word - zw 第 1 章单片机基础知识概述 内容概述 : 本章主要介绍单片机的定义 发展历史, 单片机分类方法 应用领域及发展趋势, 单片机中数的表示和运算方法, 基本逻辑门电路, 以及与单片机系统仿真工具 Proteus 相关的内容 教学目标 : 了解单片机的概念及特点 ; 掌握单片机中数的表示和运算方法及基本逻辑门电路 ; 初步了解 Proteus 软件的功能 1.1 单片机概述 1.1.1 单片机及其发展概况

More information

<4D F736F F F696E74202D2032BCC6CBE3BBFACFB5CDB32E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D2032BCC6CBE3BBFACFB5CDB32E BBCE6C8DDC4A3CABD5D> 本章主要内容 : 第二章计算机系统的组成 计算机系统组成 (2 课时 ) 计算机基本工作原理 (1 课时 ) 计算机数据表示及编码 (1 课时 ) 要点 : 了解计算机系统组成部分 ( 硬件部分与软件部分 ) 理解计算机基本工作原理 理解计算机数据表示的意义, 了解进制转换 2-1 Copyright SWFC-CISD, 2009. All rights reserved. 2.1 计算机系统组成

More information

2 A

2 A 1 2 A 3 AB 8 11 12 13 14 15 16 4 5 6 21 200 (l)20 (2)15 (3)10 7 8 9 10 11 11 12 14 15 12 13 14 15 16 17 18 19 20 21 17 18 203500 1500 500 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information