汇编语言学习笔记
初步认识汇编
1.基本认识
什么是汇编语言?
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。学习汇编语言很多时候不是为了用汇编语言去编程,而是让我们去理解机器思维,只有理解了机器的思维和运作方式,才能更好的去使用计算机。学习之前,首先要对硬件系统结构有一定的了解,汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活的控制系统进行工作。
机器语言是机器指令的集合。
机器指令展开来讲就是一台机器可以正确执行的命令。
指令:01010000等价于(PUSH AX):但显然后者更容易被我们接受。
汇编语言的主体是汇编指令。
汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。
汇编指令是机器指令的助记符。
汇编产生的原因:
机器指令: 1000100111011000
操作:寄存器 BX的内容送到AX中
汇编指令:MOV AX,BX
这样的写法与人类语言接近,便于阅读和记忆
寄存器:简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
AX是其中一个寄存器的代号,
BX是另一个寄存器的代号
2.汇编语言的组成
汇编语言由以下3类组成:
1、汇编指令(机器码的助记符)
2、伪指令 (由编译器执行)
3、其它符号(由编译器识别)
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
指令与数据:
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。
二进制信息:
1000100111011000
─> 89D8H (数据)
1000100111011000
─> MOV AX,BX (程序)
总线:
地址总线:一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽度为N。
这样的CPU最多可以寻找2的N次方个内存单元。
数据总线:CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。
数据总线的宽度决定了CPU和外界的数据传送速度。
控制总线:CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。
有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。
所以,控制总线的宽度决定了CPU对外部器件的控制能力。
寄存器:
8086CPU有14个寄存器 它们的名称为:
AX、BX、CX、DX、SI、DI、SP、BP、
IP、CS、SS、DS、ES、PSW。
8086CPU所有的寄存器都是16位的,可以存放两个字节。
AX、BX、CX、DX 通常用来存放一般性数据被称为通用寄存器。
8086上一代CPU中的寄存器都是8位的;
为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。
AX可以分为AH和AL;
BX可以分为BH和BL;
CX可以分为CH和CL;
DX可以分为DH和DL。
AH和AL寄存器是可以独立使用的8位寄存器。
字在存储器中的存储:
一个字可以存在一个16位寄存器中,这个字的高位字节和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器中。
汇编指令不区分大小写!!
8086CPU如何用内部16位的数据转换成20位的地址呢?
地址加法器合成物理地址的方法:物理地址=段地址×16+偏移地址。
小结:
(1)汇编指令是机器指令的助记符,同机器指令一一对应。
(2)每一种CPU都有自己的汇编指令集。
(3)CPU可以直接使用的信息在存储器中存放。
(4)在存储器中指令和数据没有任何区别,都是二进制信息。
(5)存储单元从零开始顺序编号。
(6)一个存储单元可以存储 8 个 bit (用作单位写成“b”),即 8 位二进制数。
(7)1B = 8b1KB = 1024B
1MB = 1024KB1GB = 1024MB
(8)每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出三种总线的宽度标志了这个CPU的不同方面的性能:
(9)地址总线的宽度决定了CPU的寻址能力;
数据总线的宽度决定了CPU与其它器件进行数据传送时的一次数据传送量;
控制总线宽度决定了CPU对系统中其它器件的控制能力。
分享到:
相关推荐
### 汇编语言学习笔记知识点总结 #### 一、汇编语言概述 - **学习目标**:通过学习汇编语言,可以获得底层编程的实践经验,深入理解计算机如何执行程序的基本原理。 - **学习原则**:确保完全掌握了当前知识点后再...
内容概要:本系列学习笔记详尽介绍了基于《汇编语言》书籍作者王爽的教材讲解的汇编入门学习课程,覆盖了基础知识点、关键概念与指令集以及实际案例的应用等方面的知识,帮助初学者构建坚实的基础。 适合人群:面向...
1. **汇编语言基础**: - 汇编语言是一套指令集,对应于机器语言,是计算机能够直接执行的代码形式。 - 学习汇编语言,有助于理解处理器设计、代码执行过程,以及如何构建虚拟机平台。 2. **寻址方式**: - 16位...
80X86汇编语言程序设计是一门深入理解计算机底层运作原理的重要学科,它涉及到计算机硬件与软件的紧密交互。...通过这份学习笔记,读者可以逐步掌握汇编语言的精髓,为更深入的系统级编程打下坚实基础。
### 汇编语言的基本学习笔记 #### 编译的例子(#3) 汇编语言是一种低级编程语言,它直接对应计算机硬件系统架构,并且几乎是一对一地映射为机器语言指令。编译的例子部分可能包括了如何将简单的汇编语言程序编译...
【汇编语言学习整理笔记】 汇编语言,作为计算机科学的基础,是计算机系统与程序员之间的桥梁,它是一种低级编程语言,直接对应机器指令。在Windows环境下,特别是win32平台,汇编语言的应用主要集中在系统级编程、...
- **零基础入门**:适合没有汇编语言基础的学习者,从基础知识开始讲解,逐步深入。 - **全面性**:涵盖汇编语言的核心概念和技术,包括但不限于寄存器使用、内存管理、条件分支等。 - **实践性强**:不仅有理论讲解...
了解这些概念是学习汇编语言的基础。接着,学习汇编语言的指令集。汇编语言的指令集包括算术指令、逻辑指令、控制指令等。了解这些指令的用途和使用方法是学习汇编语言的关键。此外,实践是学习汇编语言的重要部分。...
《Windows环境下MASM32汇编程序设计学习笔记》是一份深入探讨在Windows操作系统中使用MASM32汇编语言进行程序开发的详实资料。MASM32是Microsoft汇编语言的一个版本,专为Windows平台设计,它提供了一套完整的开发...
《汇编语言学习笔记》是基于王爽的经典教材编写的,涵盖了汇编语言的基础知识、CPU工作原理、寄存器的使用、程序设计以及内存访问等多个方面。以下是对这些知识点的详细阐述: 首先,汇编语言由三类指令组成:汇编...
这份学习笔记首先会介绍C28x DSP的基本架构,包括其浮点运算单元(FPU)、内存组织、I/O接口等核心组件,这些都是理解汇编语言的基础。接着,会详细讲解C28x的指令集,包括数据处理指令、分支指令、浮点运算指令等,...
笔记涵盖了汇编语言的基础知识、寄存器、存储器、指令系统、地址总线、数据总线、控制总线、内存地址空间等多方面的内容,为学习汇编语言的学生和开发者提供了详细的参考 materials。 基础知识 汇编语言是一种低级...
本资料围绕汇编语言基础知识、寄存器、第一个程序示例、[bx] 和 loop指令等方面阐述汇编语言-详细学习笔记。
汇编语言程序设计笔记 ...汇编语言程序设计笔记涵盖了汇编语言的基本概念、汇编语言源程序编辑与汇编、汇编语言程序设计方法、伪指令、流程图符号等方面的知识点,为学习和理解汇编语言提供了系统的理论基础。
ARM汇编语言是嵌入式系统开发中的基础工具,尤其在设计高效能、低功耗的微处理器系统时,深入理解和掌握ARM汇编是至关重要的。这篇学习笔记将带你走进ARM汇编的世界,理解其基本概念,掌握指令集,并学会如何在实际...
### 汇编语言学习笔记知识点详解 #### 一、编程环境的搭建 ...综上所述,本篇学习笔记从基础知识入手,逐步深入到高级主题,覆盖了汇编语言的主要方面,对于初学者来说是一份非常实用的参考资料。
这个是一本入门的汇编语言教材 关于内容:1、内容真的是做到了深入浅出(书是给人看的,别人看懂了才是最关键的)。2、有的地方看的出来是老师自己的感悟(不像其它国内大多数的书,就知道东抄一点西搬一点。内容到...