汇编语言学习笔记(一):汇编语言基础知识

直接在硬件之上工作的编程语言

汇编指令是机器指令便于记忆的助记符;机器指令都是01
汇编指令:MOV AX,BX 将bx移到ax

寄存器:cpu中可以存储数据的器件(ax、bx都是寄存器的代号)

程序员——》汇编指令——》编译器——》机器码——》计算机
其他语言需要先汇编成汇编指令:所以如果编写的好的话,汇编指令是最快的语言

汇编语言组成:
1.汇编指令(机器码助记符)
2.伪指令(由编译器执行)
3.其他符号(有编译器识别)

《编码的奥秘》--讲解cpu内部逻辑的实现

存储器:

汇编语言:了解CPU如何去调用内存里的数据

指令和数据是应用上的概念,在内存或者磁盘上,指令和数据没有区别,都是二进制信息。
1000100111011000 ——>89D8H(数据16进制)
1000100111011000 ——>MOV AX,BX(指令)

1.6存储单元
存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号
一个单元为8bit,8位
1024=2的10次方

1.7cpu对存储器的读写
进行读写需要进行三类信息的交互:
存储单位的地址(地址信息)、
器件选择,读或写命令(控制信息)、
读或写的数据(数据信息)

计算机中专门有链接cpu和其他芯片的导线,通常称为总线
地址总线、数据总线、控制总线

8086CPU比较经典的CPU
地址总线上能传送多少个不同的信息,cpu就可以对多少个存储单元进行寻址。

64位:CPU64位、系统64位、软件64位;才是真正的64位
书中习惯,上面的地位下面是高位

1.8地址总线
宽度决定了cpu的寻址能力
一个CPU有N根地址总线,则可以说这个CPU的地址总线宽度为N.
这样的CPU最多可以寻找2的N次方内存单元(1Byte=8bit)

1.9数据总线
数据总线的宽度决定了CPU和外界的数据传送的速度

1.10控制总线
宽度决定了CPU对系统中其它器件的控制能力
有多少根控制总线,就意味着cpu提供了对外部器件的多少中控制。
例子:一条线中可以用1/0分别表示读写

1.11 内存地址空间
如果地址总线宽度为10,那么寻址单元可为1024个
主板、接口卡
各类存储器芯片:
只读存储器(ROM)和随机存储器(RAM)
装有BIOS的ROM:Basic Input/Output System,基本输入输出系统(病毒的终极目标)
所有存储器都与CPU相连,都是从总线发送指令
8086:地址空间分配
00000——9FFFF:主存储器地址空间(RAM)
AFFFF——BFFFF:显存地址空间
C0000——FFFFF:各类ROM地址空间
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗨!对于逆向学习汇编语言学习笔记,我可以给你一些基本的指导。首先,汇编语言是一种低级语言,它与计算机的底层硬件密切相关。逆向工程则是通过分析和理解已编译的程序来获取程序的内部信息。 以下是一些学习汇编语言和逆向工程的建议: 1. 学习基础知识:了解计算机体系结构、寄存器、内存和指令集等基础概念是必要的。可以先阅读相关的书籍或在线教程,掌握这些基本概念。 2. 掌握汇编语言的语法和指令集:每种计算机体系结构都有自己的汇编语言语法和指令集。选择一种你感兴趣的体系结构(如x86、ARM等),并学习它的汇编语言。 3. 练习编写和调试汇编代码:通过编写简单的汇编代码来熟悉语法和指令集。使用调试器来单步执行代码并观察寄存器和内存的变化。 4. 分析已编译程序:选择一个目标程序进行逆向分析。使用反汇编器将程序转换为汇编代码,并分析代码的逻辑和功能。这有助于理解程序的结构和运行过程。 5. 使用调试器进行动态分析:通过调试器来动态地执行程序,并观察程序在运行时的行为。使用断点、内存查看器和寄存器查看器等工具来分析程序的状态和数据。 6. 学习逆向工程工具和技术:了解常用的逆向工程工具和技术,如IDA Pro、OllyDbg、Ghidra等。掌握这些工具的使用可以提高你的逆向分析能力。 7. 参考优秀资源:阅读与逆向工程和汇编语言相关的书籍、论文和博客,关注相关的社区和论坛。与其他逆向工程师交流经验也是很有帮助的。 记住,逆向工程是一个需要耐心和实践的过程。持续学习和实践将帮助你提高逆向分析的技能。祝你在学习汇编语言和逆向工程的过程中取得好成果!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值