汇编程序设计:01基础知识

本文介绍了机器语言和汇编语言的基础知识,指出每种CPU有其独特的机器指令集。汇编语言作为机器语言的替代,通过翻译程序转化为机器指令。指令与数据在内存中并无区别,CPU通过识别不同寄存器来区分它们。存储器按存储单元编号,CPU通过地址访问指令和数据,实现计算机的运行。
摘要由CSDN通过智能技术生成

1. 汇编语言是各种CPU提供的机器指令的助记符的集合
2. 可以使用汇编语言直接控制硬件系统进行工作:汇编语言是直接在硬件之上工作的编程语言
3. 汇编语言是数据结构、操作系统、微机原理等等的重要基础
4. 汇编语言是人和计算机沟通的最直接的方式:汇编语言描述了机器最终要执行的指令序列
5. 汇编语言和具体的微处理器(CPU)相联系,每一种微处理器的汇编语言都不一样
6. 掌握汇编语言的2个根本目的:
	[1] 充分获得底层编程的体验
	[2] 深刻理解机器运行程序的机理
7. 计算机:可以执行机器指令并进行运算的机器!计算机是由CPU以及受CPU直接或间接控制的其他芯片、器件、设备组成的计算机系统

机器语言

  • 机制语言就是机器指令的集合!机器指令是一列二进制数字!
  • 每一种微处理器(CPU)都有自己的机器指令集(机器语言):因为每一种微处理器由于硬件设计和内部结构不同,就需要不同的电平脉冲来控制它使其工作

汇编语言

  • 为什么会产生汇编语言?早期的程序员们发现机器语言晦涩难懂,难以辨别和记忆 产生了汇编语言
  • 汇编语言编写的程序如何能被计算机执行?需要一个翻译程序(汇编器)将汇编语言编写的代码转换为机器指令
  • 汇编语言的组成:3类指令
    (1)汇编指令:机器指令的助记符,与机器指令一一对应
    (2)伪指令:没有对应的机器码,由编译器识别并执行
    (3)其他符号:没有对应的机器码,由编译器识别并执行:+、-、* 等符号

指令与数据

  • 指令与数据是应用上的概念!在内存或磁盘上,指令和数据没有任何区别:都是二进制的数字
  • 内存中的二进制数字:1000100111011000
    (1)如果CPU将其当做数据对待,那这个二进制数字就是数据 0x89D8
    (2)如果CPU将其当做指令对待,那这个二进制数字就是指令 mov ax, bx
  • CPU工作时需要的指令与数据都是来自于内存,内存并知道谁是指令,谁是数据,那么CPU是怎么区分内存中的二进制数字是指令还是数据呢?定位识别:CPU拿着不同的寄存器去看着内存的不同区域:例如寄存器IP看着的内存区域存放的是指令;寄存器DS看着的内存区域存放的是数据

存储器

  • 存储单元:存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号
  • 存储器与CPU的关系:存储器是存储指令与数据的仓库;CPU是执行指令(取指、译码、执行)并运算数据的大脑
    (1)CPU是计算机的核心部件,控制计算机的运行并进行数据运算
    (2) 要想一个CPU工作就必须向它提供指令数据!指令与数据是存储在存储器中的!CPU在获取指令或数据之前必须先得到存储指令或数据的存储单元的地址

CPU对存储器的读写

  • CPU访问存储器前提:给出存储器的内存单元的地址(CPU给出的是线性地址,经过转换得到存储器的物理地址,8086的线性地址就是物理地址PA)
    (1)CPU要从内存中取指令或读写数据,首先必须指定存储单元的地址
    (2)
    (3)
  • CPU获取指令
    (1)CPU首先得知道存储指令的存储单元的地址
    (2)CPU根据指令所在的存储单元的地址找到存储单元并取出指令
  • CPU获取或更新数据
    (1)CPU首先得知道存储数据的存储单元的地址
    (2)CPU根据数据所在的存储单元的地址找到存储单元并取出数据或更新数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值