汇编语言学习笔记(1)——微机基础

 



 

1、常用数制

  • 十进制数
    • 在汇编语言编程中,十进制数直接表示
    • 一般书写形式:(  )或 (  )10
  • 二进制数
    • 计算机内部信息存储运算,输入/输出都是利用的二进制数
    • 在汇编语言编程中,二进制数XXX用XXXB来表示
    • 一般书写形式:(  )B 或 (  )2
  • 十六进制数
    • 一般当二进制数很长时,改用等值的十六进制来表示
    • 范围(0~F)
    • 在汇编语言编程中,十六进制数XXX用XXXH来表示
    • 一般书写形式:(  )H 或 (  )16


2、BCD码

  • 计算机中采用二进制,但二进制书写、阅读不便,所以在输入输出时人们仍习惯使用十进制;
  • 采用二进制数对每一位十进制数字进行编码来 表示一个十进制数,这种数叫做BCD码;
  • BCD码有多种形式,最常用的是8421BCD码, 它是用4位二进制数对十进制数的每一位进行编码,这4位二进制码的值就是被编码的一位十进制数的值; 
十进制数 8421BCD 5421BCD 2421BCD 余3BCD 格雷码
0 0000 0000 0000 0011 0000
1 0001 0001 0001 0100 0001
2 0010 0010 0010 0101 0011
3 0011 0011 0011 0110 0010
4 0100 0100 0100 0111 0110
5 0101 1000 1011 1000 0111
6 0110 1001 1100 1001 0101
7 0111 1010 1101 1010 0100
8 1000 1011 1110 1011 1100
9 1001 1100 1111 1100 1000



 3、数制转换

  •  二、八、十六进制->十进制
    • 每位的数值和该位的权值相乘,再累加
  • 二进制->十六进制
    • 四位二进制数为一组,每组用等值的十六进制代换
  • 十六进制->二进制
    • 一位十六进制数用等值的四位二进制数代换
  • 十进制->二进制
    • 整数:除2取整,直到商为零为止,倒排
    • 小数:乘2取整,直到乘积的小数部分为0时止,顺排


4、非数值型信息编码方法

  • ASCII码
    • 在计算机中除了数值之外,还有一类非常重要的数据,那就是字符,计算机常用的输入/输出设备有 键盘、显示器、打印机,它们处理的数都是人熟悉 的字符,有英文的大小写字母,数字符号(0,1,…, 9)以及其他常用符号(如:%、+等)。
    • 在计算机中,这些符号都是用二进制编码的形式表示,每一个字符被赋予一个惟一固定的二进制编码。 目 前,一 般都是采用美国标准信息交换码(ASCII),它使用七位二进制编码来表示一个符号。由于用七位码来表示一个符号,故该编码方案中共有128个符号。
    • 计算机常用的输入/输出设备有键盘、显示器、打印机。 数字、字母、符号的输入/输出均采用标准 ASCII码


 5、数值型信息编码方法(码制)

  • 真值:指在一定的时间及空间(位置或状态)条件下,被测量所体现的真实数值。
  • 机械数:把二进制数的最高位定义为符号位,其余位为数值位。符号位为0表示正数,符号位1表示负数。 符号位和数值位在一起表示一个数,称为机器数。
  • 机械数的3种表示方式
    • 原码:原码表示的有符号数,最高位为符号位,数值位部分就是该数的绝对值
    • 反码:反码表示的有符号数,也是把最高位规定为符号位,但数值部分对于正数是其绝对值,而对于负数则是其绝对值按位取反(即1变0,0变1)
    • 补码:补码表示的有符号数,对于正数来说同原码、反码一样,但负数的数值位部分为其绝对值按位取反后末位加1所得。
  • 机器数比真值数多一个符号位
  • 没有负零的补码,或者说负零的补码 与正零的补码相同
  • 由于补码表示的机器数更适合运算,为此, 计算机系统中负数一律用补码表示
  • 机器数的数值范围
    • 设机器数字长=n位,用来表示整数
    • 则n位原码数,其真值范围为 -(2n-1 -1) ~ +(2n-1-1)
    • 则n位反码数,其真值范围为 -(2n-1 -1) ~ +(2n-1-1)
    • 则n位补码数,其真值范围为 -2n-1 ~ +(2n-1 -1)
    • 则n位无符号数,其真值范围为 0 ~ +(2n -1)
  • 整数补码计算
    • 模:一个计量器的最大容量称为该计量器的“模”,例如四位计数器能存0000~1111共十六个数,所以模 = 24
    • 整数补码加减计算:
    • 条件:(1) 符号位参加运算;(2) 以2n为模(n为字长);(3)-2n-1 ≤ x, y, x+y ,x-y < +2n-1
    • 公式:(x + y) = (x)补 +(y)


6、溢出与进位

  • 进位:运算后,最高位向更高位的进位值
  • 溢出:运算结果超出了运算器所能表示的范围
  • 计算机表示进位和溢出:

 

    • 运算器一律把操作数看成是有符号数
    • 最高位的进位值保存在“进位标志寄存器” 中,有进位则进位标志为1 (CF = 1 )
    • 加数、被加数的最高位相同,且和结果的最 高位相异,则溢出标志为1(OF = 1)

 

  •  溢出的判断
    • 如果参与运算的数是无符号数,则判进位标志, 进位标志=1,表示溢出
    • 如果参与运算的数是有符号数,则判溢出标志, 溢出标志=1,表示溢出


7、计算机基本组成

  • 硬件和软件
  • 微机硬件结构:

    • 以CPU为核心通过3条总线连接存储器、I/O接口
    • 总线:总线是CPU与存储器、I/O接口交换信息 的公共通道
    • I/O接口: CPU与外设的接口电路 
  • 总线的划分:
    • 地址总线:传输CPU访问存储器, 访问I/O端口的地址信号,通常是单向总线
    • 数据总线:传输CPU读/写内存, 读写I/O端口时的数据,通常是双向总线
    • 控制总线:CPU发出的控制命令, 或外部向CPU提出的请求,大部分是单向总线,少数是双向
  • 术语:
    • 读:即输入,信息从外部→CPU
    • 写:即输出,信息从CPU→外部
    • 读内存:从存储器某单元取信息→CPU
    • 写内存:信息写入存储器某单元
  • 计算机工作过程
    • 程序由多条有逻辑关系的指令组成,指令的长度不等(一般为1~4字节),指令是程序员发出的,计算机能识别的,通知CPU执行某种操作的命令
    • 计算机的工作就是逐条执行由指令构成的程序
    • 程序和数据均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式
    • 计算机按程序的流程自动地连续取出 指令并执行之
    • 为实现自动连续地执行程序,控制器设置一程序计数器PC,它可根据指令的长度自动增量(总是指向下一条指令)。只要给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、 执行,直到完成全部指令操作为止, 即控制器通过指令流的串行驱动实现程序控制



 

posted @ 2021-09-29 14:12  从未想过的想  阅读(380)  评论(0编辑  收藏  举报