前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Assembly basic learning

Assembly basic learning

作者头像
ly0n
发布2020-11-04 10:56:42
8990
发布2020-11-04 10:56:42
举报
文章被收录于专栏:ly0n

关于汇编

​ 在身边各个PWN师傅的影响下,我这个小菜鸡也要开始我自己的PWN的旅程了。由于基础不好,所以要从头开始学习汇编基础喽,在学习的同时写下笔记以便于以后使用时候的查看和温习。

​ 汇编语言刚接触的时候确实是很难懂,下面来用一个简单的程序来深入了解一下工作过程。

代码语言:javascript
复制
main PROC
    mov eax,5
    add eax,6
    INVOKE ExitProcess,0
main ENDP

这个简单的程序的工作原理:第一行开始main函数(程序的入口),第二行是将5写入到eax寄存器;第三行把6加入到eax寄存器上,得到新值11;第四行调用windows服务(也被成为函数)ExitProcess停止程序,并将控制权交给操作系统,最后一行是主程序结束的标记。

从这个程序看来,通过汇编语言程序员可以看到程序正在发生的所有事情,包括CPU的寄存器和标志!

整数常量

整数常量又称为整型常量,由一个可选前置符号,一个或多个数字,以及一个指明其基数的可选基数字符构成:

[{+ | -}] digits [ radix ]

下表列出来了可能的基数值:

进制

基数值

十六进制

h

十进制

d

八进制

q/o

二进制

b

编码实数

r

整数常量表达式

​ 在我自己看来,整数常量表达式只要你小学毕业了,应该就可以看的明白。

这里再介绍一下:整数常量表达式他是一种算是算式表达式,它包含了整数常量和算数表达式,算式计算的结果必须是个整数,可以用32位来存放(从0到FFFFFFFFh)运算的优先级就是和整数计算的时候一样。先算乘除后算加减,有括号就先算括号里面的。

建议:在表达式中合理使用括号声明操作顺序就不用记优先级。

实数常量

​ 实数常量又成为浮点数常量,用于表示十进制实数和编码(十六进制)实数。十进制实数包含一个可选符号加一个整数后面跟一个十进制小数点,一个可选的表示小数部分的整数,一个可选指数

[sign] int.[int] [exponent]

符号和指数的格式如下

sign {+ | -}

exponent E[{+,-}] int

编码实数表示的是十六进制实数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于汇编
  • 整数常量
    • 整数常量表达式
    • 实数常量
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档