x86汇编
小辣抓
<WEB /> Developer
展开
-
【Linux x86汇编踩坑】文件读写(一)读取文件并输出
【Linux x86汇编踩坑】文件读写 前言 linux的文件是unix的文件处理方式,因此,无论linux文件是什么程序创建的,都可以作为连续的字节流进行访问,明确这一点是相当重要的。 文件调用号 首先看看几个关于文件的系统调用号 3 //读 4 //写 5 //打开 6 //关闭 如果想知道更多linux系统调用号请移步Linux系统调用号。 对文件的操作都需要系统来原创 2018-01-20 16:26:09 · 2768 阅读 · 0 评论 -
【Linux x86汇编踩坑】文件读写(二)读取文件转换大小写
【Linux x86汇编踩坑】文件读写(二)读取文件转换大小写 前言 转换大小写的思路很简单,来尝试用汇编写一个转换大小写的程序吧 转换大小写 由于在汇编中字符也是用ascii码存储的,那么思路就很清晰了,比如a对应的ascii码是97,而A对应的ascii码是65,那么将a转换为A只需要让a +(-32)即可,这个-32是他们之间的差,由于字母之间的ascii码是连续的,那么从a原创 2018-01-22 11:12:35 · 756 阅读 · 0 评论 -
【Linux x86汇编踩坑】跳转语句
【Linux x86汇编踩坑】跳转语句 最近对汇编有兴趣,于是把起书来想学一下汇编。 在写一个小demo的时候发现了汇编里的跳转语句,有: jmp //无条件跳转语句 jl //当第二个值小于第一个值则跳转 jle //当第二个值小于或等于第一个值跳转 jg //当第二个值大于第一个值跳转 jge //当第二个值大于或等于第一个值跳转 je //当第二个值等于第一个值跳转 跳转语原创 2018-01-16 16:52:00 · 813 阅读 · 0 评论 -
【Linux x86汇编踩坑】64位Linux 汇编x86
【Linux x86汇编踩坑】64位Linux 汇编x86 前言 写下这个博文的原因是今天在用汇编写函数调用的时候,偶然间遇到个问题令我十分困扰,在汇编的时候,弹出如下错误 Error: suffix or operands invalid for `push' Error: suffix or operands invalid for `pop' 这样的错误连弹了好几条,基本是我原创 2018-01-17 23:29:05 · 1357 阅读 · 1 评论 -
【Linux x86汇编踩坑】函数调用过程 函数栈浅析
【Linux x86汇编踩坑】函数调用过程 函数栈浅析 前言 汇编也和其他高级语言一样,都有函数的概念,倒不如说是某些高级语言的函数调用的底层实现,总的来说,使用函数可以把功能细分,还可以划分模块,最重要的是减少重复代码,使程序更加容易维护。汇编的函数跟高级的语言的函数有些不一样,普通高级语言只需要定义函数,函数声明,调用函数就行了,有些语言还可以直接省略了函数声明的步骤,都由编译器或解释原创 2018-01-18 12:21:03 · 467 阅读 · 0 评论 -
【Linux x86汇编踩坑】递归实现
【Linux x86汇编踩坑】递归实现 用汇编实现一下递归,汇编的函数明白了再来看递归,那就是很简单了。下面是用递归实现的求阶乘的例子 c版本 int factorial(int targetNum){ //递归出口 if(targetNum == 1) return 1; rertun targetNum * factorial(targetNum - 1); } x86原创 2018-01-18 22:39:58 · 526 阅读 · 0 评论 -
【Linux x86汇编踩坑】HelloWorld
【Linux x86汇编踩坑】HelloWorld 前言 刚学习汇编,肯定是要hello world一下才好嘛,下面看一下汇编怎么来输出一句hello world。 hello world 首先需要明白的是每个操作系统都有自己的文件处理方式,而Linux用的文件处理方式是unix的处理方式。用一句比较笼统的话来说,unix上万事万物皆文件!虽然有些笼统,但也还在理,比如设备是文件,原创 2018-01-20 11:52:23 · 568 阅读 · 0 评论