汇编语言与接口技术复习 第一章
章节一 基础知识
汇编语言特点与应用场景
特点:
- 代码与机器码一一对应
- 运行效率高
- 更直观;可读性强
- 可移植性较差
- 汇编语言直接对寄存器操作,不同cpu对寄存器的命名,指令编写都不同。高级语言可通过编译器把代码转换成对应平台的机器码运行。
- 编写复杂,调试麻烦
应用场景:
- 对时空有特殊要求的情况
计算机内部数据表示
二进制转换
- 整数二进制转换
- 浮点数二进制转换
- 整数除2,小数乘2,依小数点向左右依次将得到的余数(整数)放在两侧。
原码,反码,补码
计算机统一采用二进制编码数据,可分原码,反码和补码。
符号位永远不改变,原码其他位按位取反得到反码,再加一得到补码。
二进制的减法,可以等价与二者补码的加法运算。
反码为了解决二进制减法的问题,补码解决0编码方式不为1的问题,简单来说就是+1使得所有负数编码后移1位,给+0让位,详细可以参考:【原创】计算机为什么要用补码? - 知乎 (zhihu.com)。
令注意:计算机虽然以补码的方式存储数据,但是会转化成原码再显示出来
为了考试可能需要的一些补码特殊值:
数字 | 补码 |
---|---|
0 | 0000H |
-1 | 0FFFFH |
负的最小值 | 8000H |
数位扩展
有符号数的数位扩展
为了将两个不同位的数字对齐,需要对位数小的数字进行位数扩展。
扩展法则:
- 原码:补0
- 补码:符号位1补1,反之补0
实操后可以发现经过这样的扩展后,数字的大小不会发生改变。
字符型数据
一个二进制位简称位(bit),8个bit构成一个字节型数据,两个字节构成一个字符型数据
ASCII码
字符型数据,重点记忆一些特殊数据应付考试
编码数据 | 对应字符 |
---|---|
30H | ‘0’ |
41H | ‘A' |
61H | ’a' |
24H | ‘$' |
0DH | 回车 |
0AH | 换行 |
20H | 空格 |
注意换行和回车的区别,换行指光标换到下一行,回车则是回到这行的首端。
BCD码
分为8421BCD码和5421BCD码两种,重点掌握8421
8421BCD码用于对09的二进制表示法,数值上和09的二进制表达完全一致。也可看出无效的编码有6种(10~15的表示)
BCD码主要应用:
- 十进制的数值
- 电话号,邮政编码等特定编码
BCD码的是十进制和二进制之间的转换码,用来搭建输入的十进制到计算机储存时的二进制之间的桥梁。
计算机数据存储
汇编程序中数据类型
主要掌握占的空间。
类型 | 空间 |
---|---|
字节(B) | 8bit 或者直接说1B |
字 | 由机器决定16位机的字占16bit |
双字 四字 | 字的2,4倍 |
字符串 | 若干字节组成 |
数据的存储原则
计算机中的一个基本存储单元存8bit数据,故其也叫字节存储单元。
高高低低原则 ,高地址放高位字节数据,低地址放低位字节数据。