汇编程序语言-学习笔记
汇编程序语言是除机器语言外最底层,效率最高语言。它用计算机的思维操作计算机,是连接硬件和软件的桥梁。本文将带你逐步深入汇编语言的学习,从基础知识到应用实践,带你领略汇编语言的魅力。
第一章:基础知识
1.1 机器语言
机器语言是机器指令的集合,是计算机可以直接执行的命令,如“1000100111011000”,这表示“寄存器BX的内容送到AX中”。早期的程序员将0、1编码在纸带上。
1.2 汇编语言
汇编语言的主体是汇编指令,它将机器指令转换为便于人类记忆的书写格式,如“MOV AX,BX”表示“寄存器BX的内容送到AX中”。与机器指令相比,汇编指令更接近人类语言,易于阅读和记忆。
1.3 汇编语言的组成
汇编语言由机器指令(助记符)、伪指令(由编译器执行)和其它符号(由编译器识别)组成。
1.4 存储器
计算机的核心部件CPU控制整个计算机的运作,并进行运算。指令和数据在存储器中存放,是计算机最重要的存储器。磁盘上的数据或程序必须读入内存才能被CPU使用。
1.5 指令和数据
指令和数据在内存或磁盘上没有区别,都是二进制信息。存储器被划分为若干个存储单元,每个单元从0开始按顺序编号。
1.6 存储单元
存储器的计量容量单位:移动设备通常取1000,因此一个8G的移动设备实际容量约为7G,因为24被约掉了。
1.7 CPU对存储器的读写
CPU读写数据需要与外部器件进行三类信息交互:地址信息、控制信息和数据信息。通过总线(bus)实现信息的传输,物理上是一根根导线的集合,逻辑上划分为地址总线、数据总线和控制总线。
第二章:寄存器(CPU工作原理)
1字 = 2字节
CPU概述:多动手多动脑,不用背。
2.1 通用寄存器
8086CPU的寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX通常用来存放一般性数据,被称为通用寄存器。16位寄存器可以存储一个16位的数据,其最大值为2^16-1。
2.2 字在寄存器中的存储
1 word = 2Byte
2.3 汇编指令
不区分大小写!
2.4 物理地址
2.5 16位结构的CPU
2.6 8086CPU给出物理地址的方法
2.7 段地址x16+偏移地址=物理地址的本质含义
2.8 段的概念
注意:
小结:
2.9 段寄存器
CS: CODE SEGMENT 代码段
DS: DATE SEGMENT 数据段
SS: STACK SEGMENT 堆栈段
ES: EXTRA SEGMENT 附加段
2.11 修改CS、IP
不能用mov指令改变CS、IP的值
第三章:寄存器(内存访问)
字节型数据:(十六进制的)20
字型数据:0012H
3.2 例子
1000H不直接送到ds中去,而要先经过通用寄存器ds。mov al,[0] 表示 ds:0。内存单元的段地址是ds,因为ax是16位寄存器。
3.4 mov ax, 6 ;move 6 into ax
3.5 mov bx, ax
3.6 mov ax, [0]
3.7 mov [0], ax
3.8 mov ds, ax
3.9 不止光查书,自己去尝试
3.10 栈
栈的原理:pop指令执行过程及栈顶越界的问题。栈段的大小限制了最大能使用的内存容量。
第四章:程序
4.1 第一个汇编程序
伪指令的作用:xxx segment、xxx ends。程序是编译后的结果,源程序经过编译后成为可执行的程序。
4.2 源程序
abc是一个标号,这里的int表示中断而不是整型。MASM编译器将源程序编译为机器语言程序。
至此,汇编语言的学习之旅接近尾声,希望本文能帮助你理解汇编语言的基础知识和应用。实践是检验真理的唯一标准,多动手操作,汇编语言的学习之旅将更加精彩。
学会python需要多久时间
如果完全靠自己自学,又是从零基础开始学习Python的情况下,按照每个人的学习和理解能力的不同,我认为大致上需要半年到一年半左右的时间。当然了,Python学习起来还是比较简单的,如果有其他编程语言经验,入门Python还是非常快的,花1-2个月左右的时间学完基础,就可以自己编写一些小的程序练练手了,5-6...
python学多久可以开发小程序?
python被大家称作为蟒蛇。是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。在网上学习Python开发需要多久?不同培训学校有不同的培训周期,...
awk语言学习笔记 | 01
awk,一种在Linux\/Unix系统中广泛使用的编程语言,专注于文本和数据的处理。它能从标准输入、文件或其它命令输出中读取数据。它具备用户自定义函数、动态正则表达式等高级功能,是Linux\/Unix系统下的强力工具。awk主要通过命令行操作,但更常用于脚本中。它内置了数组、函数等丰富的功能,与C语言相似,灵活...
python学多久比较合适
当然了,Python学习起来还是比较简单的,如果有其他编程语言经验,入门Python还是非常快的,花1-2个月左右的时间学完基础,就可以自己编写一些小的程序练练手了,5-6个月的时间就可以上手做项目了。从一定程度上来说,一些零基础的初学者想要利用两个月的时间掌握好Python是不太可能的,学习完Python后...
(大四)MATLAB笔记(3.1)程序
本文为学习MATLAB课程“科学计算与Matlab语言”专题三的笔记,主要介绍了字符串处理和程序基本知识。1.7节内容涉及字符串操作,包括数据类型区分(数值型与字符型,如用单引号定义字符串)、字符串表示(包含特殊字符的处理)、字符串矩阵构建和处理(如提取子串、倒置、大小写转换和计数小写字母)以及字符串...
注册appid(微信小程序开发学习笔记1)
开始微信小程序开发前,需要对一些技术有所了解和准备。微信小程序有自己的编程语言WXML,类似于HTML,以及扩展了CSS的样式语言WxSS。JavaScript则用于处理业务逻辑,尽管它兼容大部分JavaScript功能,但部分特性可能受限。对于已具备HTML、CSS和JavaScript基础的开发者来说,上手会相对顺利。接下来是注册开发者...
程序员记笔记应该怎么记呢?
相比较其他语言,PHP,Java,JavaScript和C语言,和Python比起来,学习难度可不是吹的,C语言是真的难学,需要一定的基础 表示不怎么记笔记,自己学习的话靠自己在B站上找视频,课后主要靠实践,自己面对着IDLE框,对着键盘啪啪啪,把之前学到的东西用上就是了,有时也能写一点好程序出来 主要还是靠...
学好python需多久?
学习Python所需的时间因人而异,通常从入门到精通需要6个月到1年左右。学习时间:入门阶段:通常需要2-4周的时间,掌握Python基础知识,编写简单的脚本和程序。中级阶段:需要2-6个月的时间,深入理解Python语句和数据结构,能够编程更复杂和可扩展的代码。高级阶段:可能需要数年的时间,熟练掌握Python的...
UE4(虚幻引擎)学习笔记(1)最简单的C++UE4程序及打包运行
本系列教程旨在引导读者从零开始,通过虚幻引擎(UE4)的C++编程,快速建立并运行一个最简单的项目。对于未曾接触过UE4但对它感兴趣的初学者,本文将提供一种快速入门的路径,避免陷入琐碎细节的困扰。首先,启动UE4 4.26.2版本,选择创建一个空白游戏项目。在项目设置中,选择C++编程语言,并为项目选择...
自己在家怎么学编程
自学编程方法:快速阅读入门教程和书籍,适合学习语言和基础库。阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。上学习编程的首要任务是学习电脑的基础操作,熟悉键盘,让自己对电脑有初步的了解认识。至于...