汇编语言概述

2021/6/3 14:21:18

本文主要是介绍汇编语言概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

汇编概述

学习思想

汇编语言是高级工程师的必经之路

底层技术

语言

进制

进制如何运算

二进制 量子计算

数据宽度

有符号数/无符号数

源码反码补码

位运算

位运算计算

汇编 OD

寄存器

内存

汇编指令

内存复制

堆栈的指令

汇编如何写函数

堆栈传参

堆栈平衡

外挂

机器语言

学习计算机的语言,和它交流

什么是机器语言

#我们目前主流的电子计算机!  
0  和  1    高低电平   状态
#最早的程序员:穿孔卡带!

这些复杂的东西能不能简化呢? 助记符

加	INC
减	DEC
乘	MUL
除	DIV     通过编译器转换成机器能够理解的二进制

程序的本质存在隔阂,汇编一般用于底层的编写,单片机等

C语言

在汇编语言上进一步简化

进制

二进制

思想,每一种进制都是完美的,都有自己的计算方式;

加密解密应用:进制加密

  • 但是数字量一大,总会发现规律

进制运算

运算的本质就是查数

二进制

计算机使用二进制

  • 量子计算机 可以实现量子计算的机器

数据宽度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZtfAmd4-1622699262276)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210515162016894.png)]

有符号数无符号数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SOpiuFea-1622699262280)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210515162747501.png)]

源码反码补码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQSjyDIs-1622699262283)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210515163223173.png)]

  • 如果是负数,在对源码取反后还要+1;

只有要用它来计算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g6FbueVq-1622699262285)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210515163517275.png)]

位运算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hpgCo78U-1622699262288)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210515164721864.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9EJLYup-1622699262289)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519200143947.png)]

二进制/位运算/实现加减乘除

位运算的加减乘除

计算机只认识 0 1

基本数学是建立在加减乘除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lgaMo9B8-1622699262291)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519201040086.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hazFB5nh-1622699262292)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519201240606.png)]

汇编语言

搭建环境 1.Vc6(C语言 程序到汇编) 2.OD (返回编码/ 我爱破解) 3.抓包工具 4.加密解密工具

学汇编不是为了写代码

为了理解程序的本质

汇编入门:了解汇编和程序的对应关系 ,程序的本质!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgyQ1deB-1622699262293)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519205005476.png)]

通用寄存器

可以存储任意的值

弊端:习惯一个老师 尽量避开,一定要自发学习

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lO5xrcfa-1622699262295)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519210118664.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5PMBioF3-1622699262295)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519210408714.png)]

8位:L低八位 H高八位

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bjuAjkq8-1622699262296)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519210927070.png)]

内存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAopjaT4-1622699262297)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519211316532.png)]

程序真正运行的时候,才会用到物理内存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rFBvVblO-1622699262297)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519211649607.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nuiR4srL-1622699262298)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519211905549.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4NXm9Ij-1622699262299)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519212430683.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fYXxBgl2-1622699262300)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519212704502.png)]

不是任意的地址都可以写东西,申请使用的内存空间,只有程序申请过的内存,我们才可以使用;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zgLGMlnL-1622699262301)(C:\Users\hang.li\AppData\Roaming\Typora\typora-user-images\image-20210519213444977.png)]

内存地址有多种写法

ds:[0x19FF70+4] 内存地址偏移

ds:[esx] 直接写寄存器的名字

ds:[esx+4] 寄存器偏移

​ 也可以不加偏移

数组:

ds:[reg+reg*{1,2,4,8}] 数组

ds:[reg+reg*{1,2,4,8}+4] 偏移




这篇关于汇编语言概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程