汇编语言_chapter1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.2.2 快速求负数补码
先写出与该负数相对应的正数的补码表示,然后将其按 位求反,最后在末位加1。= 把其正数连同符号位自左到 右按位求反,直至遇到最右边的一个1及其后的所有0保持 不变。 46 00101110
二进制
00011001 00100000 00111001 +
十进制
32 (-25) 7 1
课 程 介 绍
汇编语言及接口技术
北京理工大学软件学院 吕坤
汇编语言是计算机能够提供给用户使用的最快而又最 有效的语言,也是能够利用计算机所有硬件特性并能直接 控制硬件的唯一语言。 使用汇编语言编写高性能的系统或应用程序对计算机 专业人员极具挑战性。对程序的空间和时间要求很高的场 合,汇编语言的应用必不可少。 汇编语言程序设计是高等学校计算机专业本科生必修 的核心课程之一,它对于学生了解计算机内部运行机制、 训练学生掌握程序设计技术等都有很重要的作用。计算机 接口技术也是计算机专业的专业课程,作为计算机应用的 重要方面,接口技术大量采用可编程芯片,使用汇编语言。
3
第一章 基 础 知 识
1.1 不同数制间的转换
1.1.1 二~十进制数之间的转换
二进制数转换为十进制数 1011100.10111B =
十进制数转换为二进制数(降幂法) 首先写出要转换的十进制数,其次写出所有小于此数的 各位二进制权值,然后用要转换的十进制数减去与它最相 近的二进制权值,如够减则减去并在相应位记1,如不够 减则记0,如此不断反复,直至该数为0。 N=117D 各位的权值: 64 32 1 16 1 8 0 4 1 2 0 1 1 B
第六章 介绍如何设计子程序,包括子程序的结构与设 计、子程序的参数传递、子程序的嵌套与递归。 这也是本课程的重点篇章之一。难点在于传递参数与控 制堆栈的变化。
第九章 介绍可编程并行接口芯片和串行接口芯片,包 括可编程并行接口8255A芯片和串行接口8251A芯片的概 念、功能、内部结构和工作方式,以及可编程原理及应用。
这是本课程的重点篇章之一。难点在于对问题的分析 及设计,可借助流程图等作为设计工具。
第七章 介绍高级汇编技术,包括宏汇编、重复汇编和 条件汇编,重点是宏指令和宏指令库设计。 使用宏指令并不能节省存储空间。但宏指令参数定义 灵活、参数传递方便、程序执行速度快。 第八章 介绍输入输出系统,包括I/O设备的数据传送方 式:程序查询方式、中断传送方式和DMA方式。重点是 中断系统的实现和应用。 I/O程序设计是汇编语言最 胜任及极具挑战力的应用领 域之一。- 8259A,8237A
0011010110111111B =
十六进制 二进制: 把十六进制数中的每一位用4位
二进制数来表示,就形成相应的二进制数了。
对于8位补码:
0补=-0补=00000000
1.2.3 补码的加法和减法
X Y 补=[ X ]补+[Y ]补 X Y 补=[ X ]补+[Y ]补
教材中附录A DOS系统功能调用,附录B BIOS中断 调用,附录C DEBUG调试工具可供同学们在程序设计时 随时查阅,其中只用牢记常用的功能或命令。
第十章 介绍可编程定时/计数器芯片,本章主要介绍了 定时/计数器的相关概念,并结合8253定时/计数器,阐述 了其内部结构、功能、工作方式和编程的方法。
ASCII码:见教材中表1-2。在IBM PC机中要输出的 十进制数必须用ASCII码表示。
计算机中用对减数求补的办 法把减法转化为加法。
BCD码:二进制编码的十进制数。分为压缩BCD码 和非压缩BCD码两种形式。
5
2 6 2 4 2 3 2 2 2 1 2 3 2 4 2 5 92.71875 D
对应的二进制数:1
1.1.2 十六~二进制数之间的转换
二进制 十六进制: 只要把二进制数从低位到高位每 4位组成一组,直接用十六进制数来表示就可以了。
1.2 数的补码表示
内 容 简 介
学习汇编语言离不开实际的计算机系统,本课程选择 当今广为流行的以 Intel 80X86 及 Pentium 为CPU的微型 计算机系统(即IBM PC及其兼容机)作为硬件平台,并 使用MASM5.1或MASM6.11为汇编环境。 第一章 介绍计算机基础知识,包括各种计数制、不同 基数的数之间的转换、数的运算、计算机中数和字符的表 示方法等。 第二章 介绍微型计算机硬件系统,包括计算机系统构 成、中央处理器、程序可见寄存器组、存储器、外设等。
在程序调试过程中,跟踪机器指令的执行。
学习汇编语言,使自己的程 序可以正常运行是一个令人兴 奋且充满挑战的过程。当你付 出了一定的时间和精力后,回 报也将是丰厚的!
参 考 书 目
Intel 80X86/Pentium 汇编语言程序设计 第三版(教 材) 张雪兰 谭毓安 李元章著 北京理工大学出版社 2009.4 汇编语言与接口技术(第3版) 王让定等 编著 清华大学出版社 2011.6
由于用补码表示数,使得计算机中的加、减运算十分简 便,它不必判断数的正负,只要符号位参加运算,便能自 动地得到正确的结果。 十进制
25 + 32 57
8位二进制数所能表示的带符号数的范围是-128 ~ +127, 16位二进制数所能表示的带符号数的范围是-32768 ~ +32767。 2 n 1 N 2 n 1 1
Tel : 68918736 (O) Email : kunlv@bit.edu.cn
操 作 系 统
杀 毒 软 件
游 戏 软 件
手 持 设 备
1
汇编语言的学习所带来的优势
A Knowledge and use of assembly language includes these advantages: Shows how programs interface with the operating system, the processor, and BIOS. Shows how data is represented and stored in memory and on external devices. Clarifies how the processor accesses and executes instructions and how instructions access and process data.
Clarifies how a program accesses external devices. Note : Prior knowledge of electronics or circuitry is not required for learning assembly language. This course provides most of the information about the PC’s architecture that you require for programming in assembly language.
课 程 目的
完成这门课程后,我们可以掌握: 理解PC机的硬件结构。
理解机器语言代码和十六进制格式。
编写自己的宏指令,以加快程序编写的速度。
理解汇编、链接、执行一个程序所需的步骤。
将单独汇编好的程序模块链接成一个完整的可执行程序。
编写汇编语言程序,处理键盘输入和屏幕输出,执行 数学运算,并在ASCII码和二进制格式之间转换。
第四章 介绍汇编语言的程序组织,包括常用伪指令和 结构伪指令,汇编语言语句格式及程序结构,以及汇编语 言的上机过程。 这是本课程的重点篇章之一。通过本章的学习,应该 掌握组织及调试一个简单的、完整的汇编语言程序所必须 的知识。
第五章 介绍汇编语言的程序组织,包括顺序结构简单 程序设计、分支结构和循环结构程序设计。
在某些情况下,要处理的数全是正数,我们可以把最高 有效位也作为数值处理,这样的数称为无符号整数。8位 无符号数的表数范围为0 ~ 255,16位无符号数的表数范围 是0~65535。 在计算机中最常用的无符号整数是表示地址的数。
二进制
11100111 + 11100000 11000111
1.4 字符编码
在机器中,把一个数连同其符号在内数值化表示的数 称为机器数。一般用最高有效位来表示数的符号,正数用 0表示,负数用1表示。IBM PC机和多数机器中的带符号 数采用补码表示。
0011 3
0101 5
1011 B
1111 F 35BFH
1.2.1 补码的定义
X [ X ]补= n n 2 X 2 X 0 X 2 n 1 2 n 1 X 0
汇编语言与接口技术(第2版) 叶继华 编著 机械工业出版社 2013.1
IBM – PC 汇编语言程序设计 第2版 沈美明 温冬婵 编著 清华大学出版社 2012.6
2
第三章 介绍80X86的指令系统和寻址方式,包括与数 据有关的寻址方式、与转移地址有关的寻址方式,以及 80X86的各种指令:数据传送指令、算术指令、逻辑指令、 串处理指令、程序控制指令和处理机控制指令等。 这是本课程的重点篇章之一,是用汇编语言编程的基 础,必须熟练掌握。难点在于寻址方式的理解、指令的记 忆、以及寻址方式和指令的灵活应用。
二进制
00100000 11100111 00000111
46补=11010010
4
从最高有效位向高位的进位由于机器字长的限制而自动 丢失,但这并不会影响运算结果的正确性。同时,机器为 了某种需要将把这一进位值保留在标志寄存器的进位位C 中。 十进制
-25 - 32 -57 1
1.3 无符号源自文库数
相关文档
最新文档