投聚财经
您的当前位置:首页第1章汇编语言础知识

第1章汇编语言础知识

来源:投聚财经




1章汇编语言基础知识

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

2.教学要求:
了解汇编语言的基本概念
理解汇编语言使用的进位计数制
熟练掌握不同进制之间转换、计算机的编码 熟悉汇编语言中的基本数据类型
3.教学重点:
不同进制之间转换
计算机的编码
4.掌握难点:
不同进制之间转换
计算机的编码
5.教学进程安排:P1P18

一般叙述基本概念着重课堂讲授不同进制之间转换、计算机的编码6.教学方法:

7.教学内容摘要:

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数与数制

十进制数的特点是“逢十进一,借一当十”,需要用到的数字符号为十个,分别是09 二进制数的特点是“逢二进一,借一当二”,需要用到的数字符号为二个,分别是01 八进制数的特点是“逢八进一,借一当八”,需要用到的数字符号为八个,分别是07 十六进制数的特点是“逢十六进一,借一当十六”,需要用到的数字符号为十六个,分别是09AF

234.1310=2×102+3×101+4×100+1×10-1+3×10-2
101.112=1×22+0×21+1×20+1×2-1+1×2-2
124.368=1×82+2×81+4×80+3×8-1+6×8-2
AC.B516=A×161+C×160+B×16-1+5×16-2
据上述概念,可推广出表示任意进制数的通式:
n
N???xiri

i??m
n ?m

n ??(?xiri??xi? ri m )

字中的一个数字来表示。 i?0 i??1
其中 为整数部分, 为小数部分。R 为基数,每一项的数字可用0R-1数?x ir i i?0 i??1 ?

1.2.2不同数制之间的转换

(1)十进制整数转换成二进制整数方法:除2取余法
注意:第一次得到的余数为二进制数的最低位,最后得到的余数为二进制数的最高位。

1-1】将十进制数97转换成二进制数。其过程如下:

2

97

2

48


余数为1,

A0=1

余数为0

A1=0

2

24


余数为0

A2=0

2

12


6



3




1


余数为0

A3=0

余数为0

A4=0

余数为1

A5=1

余数为1

A6=1

商为

0

余数为0

结束

最后结果为(9710=A6A5A4A3A2A1A02=11000012(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.7510

2.十进制与八进制之间的转换

(1)十进制整数转换成八进制整数

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

方法:乘8 取整法 方法:除8取余法

3.十进制与十六进制之间的转换

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

(3)十六进制数转换十进制数

方法:按位权展开后相加

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

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

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

1-1列出了十进制、二进制、八进制、十六进制最基本的数字的对应关系。这些对应关

系在后面的二进制、八进制、十六进制相互转换中要经常用到。

1-1十、二、八、十六进制数码的对应关系





9
10
11
12
13
14
15

1001
1010
1011
1100
1101
1110
1111

11
12
13
14
15
16
17

9
A
B
C
D
E
F

在计算机里,通常用数字后面跟一个英文字母来表示该数的数制。

1)十进制数一般用DDECIMAL)、
2)二进制数用BBINARY)、
3)八进制数用OOCTAL)、
4)十六进制数用HHEXADECIMAL)来表示。

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

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

1.二进制数的编码及运算
两个概念:
机器数:带符号的二进制数值数据在计算机内部的编码。真值:机器数所代表的实际值。

1)二进制数补码编码

在补码表示法中,0只有一种表示,即000…000对于10000000这个补码编码,其真值被定义为-128。要注意以下两个问题:

补码数要扩展时,正数是在符号的前面补0,负数是在符号的前面补1

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

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

1-28 位二进制补码数范围







n=16时,N的数据取值范围是: -32768≤N ≤+327672)二进制数补码的运算

补码的运算规则:
[X+Y]=[X]+[Y]
[X-Y]=[X]+[-Y]
计算机引入了补码编码后,带来了以下几个优点:
? 减法转化成了加法:这样大大简化了运算器硬件电路的设计,加减法可用同一硬件电 路进行处理。

运算时,符号位与数值位同等对待,都按二进制参加运算;符号位产生的进位丢掉不?
管,其结果是正确的。这大大简化了运算规则。

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

第二点:采用补码运算后,结果也是补码,欲得运算结果的真值,还需转换。

2.无符号整数的编码及运算规则
在某些情况下,计算机要处理的数据全是正数,此时机器数再保留符号位就没有意义了。

这时,我们将机器数最高有效位也作为数值位处理,也就是说,假设机器字长为n位: 则有符号整数的编码可表示为:

符号位

数值位


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

1 n-1
3. 十进制数的编码及运算

1-3 BCD 码表

十进制数码

0

1

2

3

4

5

6

7

8

9

8421

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

2BCD码的运算规则
3BCD码的修正规则

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

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

2.汉字的编码
汉字输入编码
汉字机内码

汉字字形码
3. 逻辑数据的编码
⑴“与”运算(AND
⑵“或”运算(OR





⑶ “非”运算(NOT
⑷“异或”运算(XOR
逻辑运算关系见表1-5所示。

1-5逻辑数运算规则

逻辑与

逻辑或

逻辑非

逻辑异或

备注

0.0 = 0
0.1 = 0
1.0 = 0
1.1 = 1

0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 1

1 = 0

0⊕0 = 0
0⊕1 = 1
1⊕0 = 1
1⊕1 = 0


0 = 1

8.参考资料:《IBM-PC汇编语言程序设计》沈美明9.作业:P18习题1
10.本章小结:
本部分为汇编语言的基础,必须理解和熟悉。 本部分要求灵活应用,不要死记硬背。





显示全文