汇编基础知识

第1章 汇编语言基础知识

1.教学目的:掌握汇编语言概念极其使用的进位计数制、不同进位计数制之间的转换、计算机编码以及基本数据类型。 2.教学要求:

①了解汇编语言的基本概念

②理解汇编语言使用的进位计数制

③熟练掌握不同进制之间转换、计算机的编码 ④熟悉汇编语言中的基本数据类型 3.教学重点:

①不同进制之间转换

②计算机的编码 4.掌握难点:

①不同进制之间转换

②计算机的编码

5.教学进程安排:P1~P18 6.教学方法:

①一般叙述基本概念

②着重课堂讲授不同进制之间转换、计算机的编码 7.教学内容摘要:

1.1汇编语言概述

1.1.1汇编语言基本概念

1.机器语言 2.汇编语言 3.高级语言

1.1.2 汇编语言的特点

1.执行速度快 2.程序短小

3.可以直接控制硬件 4.可以方便地编译

5.辅助计算机工作者掌握计算机体系结构

1.2进位计数制及其转换

计算机内部的信息分为两大类:

1.控制信息:控制信息是一系列的控制命令,用于指挥计算机如何操作;

2.数据信息:数据信息是计算机操作的对象,它可分为数值数据和非数值数据

(1)数值数据用于表示数量的大小,它有确定的数值;

(2)非数值数据没有确定的数值,它主要包括字符、汉字、逻辑数据等等。 信息在输入计算机内部时,都必须用基2码编码表示,其原因如下: 1. 基2码在物理上最容易实现。

2.基2码用来表示二进制数,其编码、加减运算规则简单。

3.基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应,为计算机实现逻辑运算带来了方便。

1.2.1数与数制

十进制数的特点是“逢十进一,借一当十”,需要用到的数字符号为十个,分别是0~9。 二进制数的特点是“逢二进一,借一当二”,需要用到的数字符号为二个,分别是0~1。 八进制数的特点是“逢八进一,借一当八”,需要用到的数字符号为八个,分别是0~7。 十六进制数的特点是“逢十六进一,借一当十六”,需要用到的数字符号为十六个,分别是0~9、A ~F 。

210-1-2

(234.13)10=2×10+3×10+4×10+1×10+3×10

210-1-2

(101.11)2=1×2+0×2+1×2+1×2+1×2

210-1-2

(124.36)8=1×8+2×8+4×8+3×8+6×8

10-1-2

(AC.B5)16=A×16+C×16+B×16+5×16

据上述概念,可推广出表示任意进制数的通式:

n

N =±∑x i r i

i =-m

n -m

i

=±(∑x i r +∑x i -r i m ) n

i =0i =-1

x i r i x i r i ∑∑其中 为整数部分, 为小数部分。R 为基数,每一项的数字可用0~R-1数i =0i =-1

字中的一个数字来表示。

1.2.2不同数制之间的转换

1. 十进制数与二进制数之间的转换 (1)十进制整数转换成二进制整数

方法:除2取余法

注意:第一次得到的余数为二进制数的最低位,最后得到的余数为二进制数的最高位。 【例1-1

商为 0

余数为1, 余数为0, 余数为0, 余数为0, 余数为0, 余数为1, 余数为1, 余数为0

即A 0=1 即A 1=0 即A 2=0 即A 3=0 即A 4=0 即A 5=1 即A 6=1;

结束

最后结果为(97)10 =(A 6 A5 A4 A3 A2 A1 A0)2=(1100001)2

(2)十进制小数转换成二进制小数

方法:乘2取整法

注意:最后将每次得到的整数部分(必定是0或1)按先后顺序从左到右排列即得到所对应二进制小数。

【例1-2】将十进制小数0.6875转换成二进制小数。如下:

0.6875 × 2

1.3750 整数部分为1,即A -1=1 0.3750 余下的小数部分

× 2

0.7500 整数部分为0,即A -2=0 0.7500 余下的小数部分 × 2

1.5000 整数部分为1,即A -3=1 0.5000 余下的小数部分 × 2

1.0000 整数部分为1,即A -4=1 0.0000 余下的小数部分为0,结束

最后结果为(0.6875)10=(0.A-1A -2A -3A -4) 2 =(0.1011)2

(3)一般的十进制数转换成二进制数

为了将一个既有整数又有小数部分的十进制数转换成二进制数,可以将其整数部分和小数部分分别进行转换,然后再组合起来。例如: (4)二进制数转换十进制数

方法:按位权展开后相加。

例如:(111.11)2 =1×22+1×21+1×20+1×2-1+1×2-2 =4+2+1+0.5+0.25 =(7.75)10 2. 十进制与八进制之间的转换 (1)十进制整数转换成八进制整数 方法:除8取余法

(2)十进制小数转换成八进制小数

方法:乘8取整法

3. 十进制与十六进制之间的转换 (1)十进制整数转换成十六进制整数

方法:除16取余法

(2)十进制小数转换成十六进制小数

方法:乘16取整法 (3)十六进制数转换十进制数

方法:按位权展开后相加

4. 二进制与八进制、十六进制数之间的转换

3

因为: 2=8,所以每三位二进制数对应一位八进制数;

4

2=16,所以每四位二进制数对应一位十六进制。

表1-1列出了十进制、二进制、八进制、十六进制最基本的数字的对应关系。这些对应关系在后面的二进制、八进制、十六进制相互转换中要经常用到。

在计算机里,通常用数字后面跟一个英文字母来表示该数的数制。 (1)十进制数一般用D (DECIMAL )、 (2)二进制数用B (BINARY )、 (3)八进制数用O (OCTAL )、

(4)十六进制数用H (HEXADECIMAL )来表示。

1.3计算机中数与字符的表示方法

1.3.1 数值数据的编码及其运算

1. 二进制数的编码及运算

两个概念:

机器数:带符号的二进制数值数据在计算机内部的编码。 真值:机器数所代表的实际值。 (1)二进制数补码编码

要注意以下两个问题:

① 在补码表示法中,0只有一种表示,即000„000。 ② 对于10000000这个补码编码,其真值被定义为-128。 举例:机器字长n=8位,X=+48D,求[X]补 举例:机器字长n=8位,X=-48D ,求[X]补 举例:机器字长n=16位,X=+48D,求[X]补 举例:机器字长n=16位,X=-48D ,求[X]补

注意:汇编语言中,为了区别指令码和名称, 规定A ~F 开始的数据前面加零。 补码数要扩展时,正数是在符号的前面补0,负数是在符号的前面补1。

已知补码求真值的方法是:当机器数的最高位(符号位)为0时,表示真值是正数,其值等于其余n-1位的值;当机器数的最高位(符号位)为1时,表示真值是负数,其值等于其余n-1位按位取反末位加1的值。

我们来讨论一下补码表示数的范围。

当n=16时,N 的数据取值范围是: -32768≤ N ≤+32767

(2)二进制数补码的运算 补码的运算规则:

[X+Y]补 = [X]补 + [Y]补 [X-Y]补 = [X]补 + [-Y]补

计算机引入了补码编码后,带来了以下几个优点:

减法转化成了加法:这样大大简化了运算器硬件电路的设计,加减法可用同一硬件电

路进行处理。

运算时,符号位与数值位同等对待,都按二进制参加运算;符号位产生的进位丢掉不

管,其结果是正确的。这大大简化了运算规则。 运用以上两个公式时,要注意两点:

第一点:公式成立有个前提条件,就是运算结果不能超出机器数所能表示的范围,否则运算结果不正确,按“溢出”处理。

第二点:采用补码运算后,结果也是补码,欲得运算结果的真值,还需转换。 2. 无符号整数的编码及运算规则

在某些情况下,计算机要处理的数据全是正数,此时机器数再保留符号位就没有意义了。这时,我们将机器数最高有效位也作为数值位处理,也就是说,假设机器字长为n 位:

则有符号整数的编码可表示为:

无符号整数的表数范围为:0≤N ≤2 3. 十进制数的编码及运算

(1)BCD 码

n-1

n

(3)BCD 码的修正规则

1.3.2非数值数据的二进制编码

1. 字符编码

使用最多、最普遍的是ASCII 字符编码,即美国信息交换标准代码(AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE)。 2. 汉字的编码

⑴汉字输入编码 ⑵汉字机内码 ⑶汉字字形码 3. 逻辑数据的编码

⑴“与”运算(AND ) ⑵“或”运算(OR ) ⑶ “非”运算(NOT ) ⑷“异或”运算(XOR )

逻辑运算关系见表1-5所示。

8.参考资料:《IBM-PC 汇编语言程序设计》沈美明 9.作业:P18 习题1 10.本章小结:

①本部分为汇编语言的基础,必须理解和熟悉。 ②本部分要求灵活应用,不要死记硬背。

第1章 汇编语言基础知识

1.教学目的:掌握汇编语言概念极其使用的进位计数制、不同进位计数制之间的转换、计算机编码以及基本数据类型。 2.教学要求:

①了解汇编语言的基本概念

②理解汇编语言使用的进位计数制

③熟练掌握不同进制之间转换、计算机的编码 ④熟悉汇编语言中的基本数据类型 3.教学重点:

①不同进制之间转换

②计算机的编码 4.掌握难点:

①不同进制之间转换

②计算机的编码

5.教学进程安排:P1~P18 6.教学方法:

①一般叙述基本概念

②着重课堂讲授不同进制之间转换、计算机的编码 7.教学内容摘要:

1.1汇编语言概述

1.1.1汇编语言基本概念

1.机器语言 2.汇编语言 3.高级语言

1.1.2 汇编语言的特点

1.执行速度快 2.程序短小

3.可以直接控制硬件 4.可以方便地编译

5.辅助计算机工作者掌握计算机体系结构

1.2进位计数制及其转换

计算机内部的信息分为两大类:

1.控制信息:控制信息是一系列的控制命令,用于指挥计算机如何操作;

2.数据信息:数据信息是计算机操作的对象,它可分为数值数据和非数值数据

(1)数值数据用于表示数量的大小,它有确定的数值;

(2)非数值数据没有确定的数值,它主要包括字符、汉字、逻辑数据等等。 信息在输入计算机内部时,都必须用基2码编码表示,其原因如下: 1. 基2码在物理上最容易实现。

2.基2码用来表示二进制数,其编码、加减运算规则简单。

3.基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应,为计算机实现逻辑运算带来了方便。

1.2.1数与数制

十进制数的特点是“逢十进一,借一当十”,需要用到的数字符号为十个,分别是0~9。 二进制数的特点是“逢二进一,借一当二”,需要用到的数字符号为二个,分别是0~1。 八进制数的特点是“逢八进一,借一当八”,需要用到的数字符号为八个,分别是0~7。 十六进制数的特点是“逢十六进一,借一当十六”,需要用到的数字符号为十六个,分别是0~9、A ~F 。

210-1-2

(234.13)10=2×10+3×10+4×10+1×10+3×10

210-1-2

(101.11)2=1×2+0×2+1×2+1×2+1×2

210-1-2

(124.36)8=1×8+2×8+4×8+3×8+6×8

10-1-2

(AC.B5)16=A×16+C×16+B×16+5×16

据上述概念,可推广出表示任意进制数的通式:

n

N =±∑x i r i

i =-m

n -m

i

=±(∑x i r +∑x i -r i m ) n

i =0i =-1

x i r i x i r i ∑∑其中 为整数部分, 为小数部分。R 为基数,每一项的数字可用0~R-1数i =0i =-1

字中的一个数字来表示。

1.2.2不同数制之间的转换

1. 十进制数与二进制数之间的转换 (1)十进制整数转换成二进制整数

方法:除2取余法

注意:第一次得到的余数为二进制数的最低位,最后得到的余数为二进制数的最高位。 【例1-1

商为 0

余数为1, 余数为0, 余数为0, 余数为0, 余数为0, 余数为1, 余数为1, 余数为0

即A 0=1 即A 1=0 即A 2=0 即A 3=0 即A 4=0 即A 5=1 即A 6=1;

结束

最后结果为(97)10 =(A 6 A5 A4 A3 A2 A1 A0)2=(1100001)2

(2)十进制小数转换成二进制小数

方法:乘2取整法

注意:最后将每次得到的整数部分(必定是0或1)按先后顺序从左到右排列即得到所对应二进制小数。

【例1-2】将十进制小数0.6875转换成二进制小数。如下:

0.6875 × 2

1.3750 整数部分为1,即A -1=1 0.3750 余下的小数部分

× 2

0.7500 整数部分为0,即A -2=0 0.7500 余下的小数部分 × 2

1.5000 整数部分为1,即A -3=1 0.5000 余下的小数部分 × 2

1.0000 整数部分为1,即A -4=1 0.0000 余下的小数部分为0,结束

最后结果为(0.6875)10=(0.A-1A -2A -3A -4) 2 =(0.1011)2

(3)一般的十进制数转换成二进制数

为了将一个既有整数又有小数部分的十进制数转换成二进制数,可以将其整数部分和小数部分分别进行转换,然后再组合起来。例如: (4)二进制数转换十进制数

方法:按位权展开后相加。

例如:(111.11)2 =1×22+1×21+1×20+1×2-1+1×2-2 =4+2+1+0.5+0.25 =(7.75)10 2. 十进制与八进制之间的转换 (1)十进制整数转换成八进制整数 方法:除8取余法

(2)十进制小数转换成八进制小数

方法:乘8取整法

3. 十进制与十六进制之间的转换 (1)十进制整数转换成十六进制整数

方法:除16取余法

(2)十进制小数转换成十六进制小数

方法:乘16取整法 (3)十六进制数转换十进制数

方法:按位权展开后相加

4. 二进制与八进制、十六进制数之间的转换

3

因为: 2=8,所以每三位二进制数对应一位八进制数;

4

2=16,所以每四位二进制数对应一位十六进制。

表1-1列出了十进制、二进制、八进制、十六进制最基本的数字的对应关系。这些对应关系在后面的二进制、八进制、十六进制相互转换中要经常用到。

在计算机里,通常用数字后面跟一个英文字母来表示该数的数制。 (1)十进制数一般用D (DECIMAL )、 (2)二进制数用B (BINARY )、 (3)八进制数用O (OCTAL )、

(4)十六进制数用H (HEXADECIMAL )来表示。

1.3计算机中数与字符的表示方法

1.3.1 数值数据的编码及其运算

1. 二进制数的编码及运算

两个概念:

机器数:带符号的二进制数值数据在计算机内部的编码。 真值:机器数所代表的实际值。 (1)二进制数补码编码

要注意以下两个问题:

① 在补码表示法中,0只有一种表示,即000„000。 ② 对于10000000这个补码编码,其真值被定义为-128。 举例:机器字长n=8位,X=+48D,求[X]补 举例:机器字长n=8位,X=-48D ,求[X]补 举例:机器字长n=16位,X=+48D,求[X]补 举例:机器字长n=16位,X=-48D ,求[X]补

注意:汇编语言中,为了区别指令码和名称, 规定A ~F 开始的数据前面加零。 补码数要扩展时,正数是在符号的前面补0,负数是在符号的前面补1。

已知补码求真值的方法是:当机器数的最高位(符号位)为0时,表示真值是正数,其值等于其余n-1位的值;当机器数的最高位(符号位)为1时,表示真值是负数,其值等于其余n-1位按位取反末位加1的值。

我们来讨论一下补码表示数的范围。

当n=16时,N 的数据取值范围是: -32768≤ N ≤+32767

(2)二进制数补码的运算 补码的运算规则:

[X+Y]补 = [X]补 + [Y]补 [X-Y]补 = [X]补 + [-Y]补

计算机引入了补码编码后,带来了以下几个优点:

减法转化成了加法:这样大大简化了运算器硬件电路的设计,加减法可用同一硬件电

路进行处理。

运算时,符号位与数值位同等对待,都按二进制参加运算;符号位产生的进位丢掉不

管,其结果是正确的。这大大简化了运算规则。 运用以上两个公式时,要注意两点:

第一点:公式成立有个前提条件,就是运算结果不能超出机器数所能表示的范围,否则运算结果不正确,按“溢出”处理。

第二点:采用补码运算后,结果也是补码,欲得运算结果的真值,还需转换。 2. 无符号整数的编码及运算规则

在某些情况下,计算机要处理的数据全是正数,此时机器数再保留符号位就没有意义了。这时,我们将机器数最高有效位也作为数值位处理,也就是说,假设机器字长为n 位:

则有符号整数的编码可表示为:

无符号整数的表数范围为:0≤N ≤2 3. 十进制数的编码及运算

(1)BCD 码

n-1

n

(3)BCD 码的修正规则

1.3.2非数值数据的二进制编码

1. 字符编码

使用最多、最普遍的是ASCII 字符编码,即美国信息交换标准代码(AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE)。 2. 汉字的编码

⑴汉字输入编码 ⑵汉字机内码 ⑶汉字字形码 3. 逻辑数据的编码

⑴“与”运算(AND ) ⑵“或”运算(OR ) ⑶ “非”运算(NOT ) ⑷“异或”运算(XOR )

逻辑运算关系见表1-5所示。

8.参考资料:《IBM-PC 汇编语言程序设计》沈美明 9.作业:P18 习题1 10.本章小结:

①本部分为汇编语言的基础,必须理解和熟悉。 ②本部分要求灵活应用,不要死记硬背。


相关内容

  • 高考病句语文试卷.教案.课件.作文.总复习
  • 试卷 大小 2015年高考语文病句题及答案(精校版)[☆] 13K 2015年高考语文试卷分类汇编:病句题[答案][☆] 17K 2014年全国各地高考语文试题汇编--语病[☆] 13K 2013年高考语文试题分类汇编:病句[答案][☆] 13K 历年高考病句真题汇编(1992-2012年)[答案] ...

  • 汇编语言课程设计报告
  • 实现加减乘除四则运算的计算器 专业 计算机科学与技术(网络工程) xxxx xxxx Xxxxx xxxx xxxxx 学生姓名 班学级 号 指导教师 完成日期 目 录 1 概 述 ........................................................... ...

  • 汇编语言教程6
  • 汇编语言教程6.txt23让我们挥起沉重的铁锤吧!每一下都砸在最稚嫩的部位,当青春逝去,那些部位将生出厚晒太阳的茧,最终成为坚实的石,支撑起我们不再年轻但一定美丽的生命..0 关于汇编语言 汇编语言是创造出来代替原始的只能由处理器理解的二进制代码,也就是在OD中常见的机器码!用机器码来写程序,可以想 ...

  • 汇编语言课程设计报告五朵梅花
  • 目录 目录 一.概述................................................. 二.题目基本内容......................................... 三.系统功能结构框图.............................. ...

  • 汇编语言基础知识
  • 汇编语言基础知识 汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构.Intel 公司微处理器的发展.计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器.内存组织等汇编语言所涉 ...

  • 汇编语言课程设计报告-时间显示
  • 北 华 航 天 工 业 学 院 <微机原理与汇编语言程序设计> 课程设计报告 报告题目: 年.月.日.星期,当前时间显示 作者所在系部: 作者所在专业: 计算机应用 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 12月31日 北华航天工业学院教务处制 前 言 汇 ...

  • "功能性作品"受著作权法保护吗
  • "功能性作品"受著作权法保护吗 对瑜伽.武术.体操动作进行独创性汇编,能否构成受著作权法保护的作品?本文作者认为,由于这些动作主要是为了实现健身.防身等功能,具有实用性,因而不构成作品,不能获得著作权法的保护,但这些"功能性作品"的衍生品若具有独创性,仍可获得 ...

  • 专业课程设计报告书
  • 专业课程设计报告书 课程名称: 微机原理与接口技术 设计名称: 音乐发生器 学生姓名:专 业:班 别: 学 号: 指导老师: 日 期: 目录 1. 项目概述 ....................................................................... ...

  • 房地产市场和金融市场关系的实证研究
  • 更多人力资源精品....... 2012年度销售公司各岗位工.. 零售企业财务管理规程 超市商品管理规范 超市商品变价管理规范 超市企业自行发售购物卡券.. 控制与降低成本及企业质量.. 成功督导手册 销售人员最高销售技巧大全 大客户开发与管理-步步为营 高效工作八大技能 中国文化企业上市融资分析. ...

  • 小学五年级奥数题及答案大全
  • 五年级奥数汇编1-20题 小学五年级奥数题:奥数题汇编1 小学五年级奥数题:奥数题汇编2 小学五年级奥数题:奥数题汇编3 小学五年级奥数题:奥数题汇编4 小学五年级奥数题:奥数题汇编5 小学五年级奥数题:奥数题汇编6 小学五年级奥数题:奥数题汇编7 小学五年级奥数题:奥数题汇编8 小学五年级奥数题: ...