汇编语言第一章基础知识_第1页
汇编语言第一章基础知识_第2页
汇编语言第一章基础知识_第3页
汇编语言第一章基础知识_第4页
汇编语言第一章基础知识_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计 (选修)上课:36学时 上机:18学时后续课程:计算机组成原理、微机原理及接口技术、操作系统、嵌入式系统等1课 程 介 绍 电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。2 程序设计语言 面向机器的低级语言 面向过程的高级语言 面向对象的高级语言 机器语言 BASIC C+ 汇编语言 Pascal Smalltalk C VC FORTRAN JAVA COBOL3机器语言: 所谓机器语言,就是用“0”和“1”所组成的

2、一串二进制数所表示的命令或数据,是计算机的硬件唯一能够直接识别和执行的语言。特点:代码效率高。 难于记忆和理解,编写程序麻烦易出错,不利于学习、推广和使用。aver=(x+y+z)/3;A100000306020003060400B303F6F3A306004汇编语言 采用助记符表示的程序语言汇编语言的执行语句与机器语言的指令是一一对应的。aver=(x+y+z)/3;A10000 MOV AX,X03060200 ADD AX,Y03060400 ADD AX,ZB303 MOV BL,3F6F3 DIV BLA30600 MOV AV,AX5汇编语言的特点 速度:对于同一个问题,用汇编语言

3、设计出的程序能达到“运行速度最快”。 空间:对于同一个问题,用汇编语言设计出的程序能达到“占用空间最少”。 功能:汇编语言可以实现高级语言难以胜任甚至不能完成的任务。 知识:学习汇编语言,有助于对计算机系统的理解、写出更好的程序。编写汇编语言源程序繁琐,程序的调试、维护、移植能力差。6汇编语言源程序 目 标 程 序 可 运 行 程 序汇编程序连接程序.asm.obj.exe汇编语言程序上机调试过程7ALU控制逻辑寄存器 存储器(内存) 外 存 储 器 I/O 设 备控制总线数据总线地址总线PC微机结构地址总线:用于请求存储器的一个存储单元或I/O设备的一个I/O单元。数据总线:用于在微处理器与

4、存储器之间,及I/O地址空间之间传送信息。控制总线:用于选择存储器或I/O,并使它们完成读/写操作。微处理器CPU8课程内容介绍: (结合目前广泛使用的PC机来进行教学)基础知识,包括计算机中数和字符的表示方法, 计算机的编程结构及工作方式等。介绍指令系统和寻址方式。介绍伪操作和汇编语言程序格式。说明循环、分支、子程序结构和程序设计的基本方法,以及多种算法的程序实例。说明BIOS和DOS系统功能调用的使用方法。介绍宏等高级汇编语言技术。 介绍I/O程序设计方法,重点说明中断原理、中断过程及中断程序设计方法。9学习目标: 通过学习本课程要求同学们了解Intel系列微型机的基本组成以及计算机中数和

5、字符的表示方法;熟练掌握Intel8086指令系统及寻址方式,伪指令及汇编语言程序格式;掌握基本程序设计方法、I/O程序设计方法以及DOS和BIOS调用;掌握宏汇编的基本概念和方法;了解汇编语言程序与高级语言程序的连接方法,熟悉上机操作和程序调试技术,初步具备软件设计的能力。10第一章 基 础 知 识 数制 数制之间的转换 运算 计算机中的数据表示11二进制数的特点 可行性 简易性 逻辑性 可靠性 用途:(除数据计算处理外) 开关控制、表示状态、图形处理等12数据表示方法1个二进制位:bit (比特)8个二进制位:Byte (字节) 1Byte = 8bit2个字节: Word (字) 1Wo

6、rd = 2Byte = 16bit1KB = 210 B = 1024B(Kilo) 1MB = 1024KB = 220 B (Mega) 1GB = 1024MB = 230B (Giga) (内存以字节为基本单位)131. 数 制 数 制 基 数 数 码 二进制 Binary 2 0, 1 八进制 Octal 8 0, 1, 2, 3, 4, 5, 6, 7 十进制 Decimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 十六进制 Hexadecimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F二进制:

7、基数为2,逢二进一 11012 = 12 3 + 12 2 + 12 0 = 1310十六进制:基数为16,逢十六进一 9 1 B 7 = 9 16 3 + 1 16 2 + 11 16 1 + 7 16 0142. 数制之间的转换 二进制 十六进制 十进制 二进制 十进制 十六进制降幂法 除法15 二进制 十六进制 A 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B 0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFH1625D = ? B 二进制 十进制16 8 4 2

8、 1 1 1 0 1 111011B = ?D1682127272 2512 1202 602 312 1101100117 十六进制 十进制 例: 399D = ? H16 399F16 24816 11018F BF3CH = 11163 +15162 +3161 +12160 =54356D18 算术运算 二进制数:逢二进一 借一当二 加法规则 乘法规则 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 + 1 = 0 (进位1) 1 1 = 13. 运算(算术运算和逻辑运算)190 5 C 3 H3 D 2 5 H4 2 E

9、 8 H3 D 2 5 H0 5 C 3 H3 7 6 2 H11十六进制数:逢十六进一 借一当十六20 逻辑运算(按位操作)“与”运算(AND) “或”运算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非”运算(NOT) “异或”运算(XOR) A A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 021 X= 0010 0011 1100 1101 B Y= 0100 0101 1010 1011 B Z= B Z= H0000 0001 1000 10010189例:X=2

10、345H Y=ABCDH,求Z=X Y= ?22 X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101 B Z= B Z= H0101 0101 1010 101055AA例:X=00FFH Y=5555H,求Z=XY= ?23 数的表示 计算机中的数是用二进制来表示的,分有符号数和无符号数。(1)带符号数 一般用最高有效位来表示数的符号。 正数用0表示 负数用1表示 4. 计算机中的数据表示24 7 6 5 4 3 2 1 0符号位 数值位假设机器字长为16位:符号位 = 0 正数 数值位 = 1 负数15 14 13 12 11 10 9 8 7

11、6 5 4 3 2 1 0假设机器字长为8位:H.O.ByteL.O.ByteH.O.NibbleL.O.Nibble机器数:25数的常用表示法 原码 补码原码表示法:符号 + 绝对值例:n = 8bit +3原码 = 0 000,0011 = 03H - 3原码 = 1 000,0011 = 83H +0原码 = 0 000,0000 = 00H - 0原码 = 1 000,0000 = 80H 0 的表示不唯一26例: 机器字长8位,-46补码 = ? 46补码 = 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 = D2机器字长16位,-4

12、6补码 = FFD2H按位求反末位加一补码(Twos Complement)表示法:正数的补码: 同原码负数的补码: 2n-|x| (1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一27 +0补码 = 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = 00H = - 0补码 0 的表示唯一按位求反末位加一补码正数的补码: 同原码负数的补码:2n-|x| (1)写出与该负数相对应的正数的补码 (2)按位求反 (3)末位加一28求补运算 :对一个二进制数按位求反、 末位加一 X补码 -X补码 X补码例如: 46补码 -46补码 4

13、6补码例: 46D=2EH = 0 0 1 0 1 1 1 0 B 按位求反末位加一按位求反末位加一= D2H= 2EH求补: 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 求补: 0 0 1 0 1 1 0 10 0 1 0 1 1 1 0 29 十进制 二进制 十六进制 十进制 十六进制 n=8 n=16 +127 0111 1111 7F +32767 7FFF +126 0111 1110 7E +32766 7FFE . . . +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000

14、 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000n位二进制补码的表数范围: - 2n-1 N 2n-1-130补码的加法和减法:加法规则:X+Y补码 = X补码 + Y补码减法规则:X-Y补码 = X补码 + -Y补码 补码表示的特点:将减法变为加法 64(-46) 180100 00001101 00100001 0010例:31(2)无符号数 无符号整数的表数范围: 0 N 2n-1 n=8 表数范围: 0 N 255 n=16 表数范围: 0 N 65535 用途:表示地址的数 表示双精度数或多字长数的低字 32BCD码 十进制数的二进制编码 用4位二进制编码表示一位十进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论