【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
除了内联汇编以外,还有一种途径可以把汇编代码整合到C/C++语言中,C/C++语言可以直接调用汇编函数,把输入值传递给函数,然后从函数获得输出值。
如果希望汇编语言函数和C/C++程序一起工作,就必须显示地遵守C样式的函数格式,也就是...
分类:
编程语言 时间:
2015-05-12 00:11:29
阅读次数:
156
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
和高级语言一样,汇编语言在多个项目之间可能会编写相同的过程和处理,如果使用函数的话就可以不必每次需要时都重复编写实用程序代码,从而在需要它的时候调用它。
函数包含完成特定功能所需的代码,数据从主程序传递给函数,然后结果返回给主程序。调用函...
分类:
系统相关 时间:
2015-05-10 22:31:53
阅读次数:
254
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
cmps指令用于比较字符串值,cmps指令有三种格式:cmpsb、cmpsw、cmpsl。隐含的源操作数和目标操作数位置存储在esi和edi寄存器中,每次执行cmps指令时,根据DF标志,esi和edi寄存器按照被比较的数据长度递增或递减。cmps指令...
分类:
系统相关 时间:
2015-05-10 22:31:31
阅读次数:
255
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
在前面章节我们已经看到,启动系统调用需要使用INT指令。linux系统调用位于中断0x80,执行INT指令时,所有操作转移到内核中的系统调用处理程序,完成后执行转移到INT指令之后的下一条指令。
linux的系统调用在如下文件(3...
分类:
系统相关 时间:
2015-05-10 22:31:06
阅读次数:
221
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
在高级语言中,程序在命令行上启动时常常带一个或多个参数,在汇编语言中也可以实现这一特性。在实现这一特性之前,我们先了解一下linux如何从命令行执行程序。
每一个应用程序开始执行时,系统都会为该程序分配一块内存区域,并且每个程序都...
分类:
系统相关 时间:
2015-05-10 22:29:53
阅读次数:
283
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
其实在汇编语言中也是可以使用C库函数的,这一节我们来看一下如何在汇编语言中调用C库函数以使得我们的程序看上去很方便地和用户交互。
C库包括C程序通用的喝多函数,如printf和exit等,下面我们紧接着上一节的知识来实现一个两整数...
分类:
编程语言 时间:
2015-05-10 22:29:49
阅读次数:
292
使用c++跨windows和linux平台实现字符串GBK到UTF8的转换。
原理是GBK字符串先转为unicode编码,然后再转换为UTF8编码。...
分类:
编程语言 时间:
2015-05-09 20:29:30
阅读次数:
193
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
这一节介绍如何在编语言中上使用整数运算,包括加法、减法、乘法和除法。
加法指令
add指令用于把两个整数想加。格式如下:
add src, dest
其中src可以是立即数值、内存地址、寄存器。dest可以是寄存器或内存...
分类:
系统相关 时间:
2015-05-09 16:33:54
阅读次数:
197
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
在此之前我们使用的汇编代码示例都是从第一条指令开始,直到最后最后一条指令程序退出。但实际上和高级语言类似,汇编代码也提供指令来改变程序处理数据方式。
正常情况下,程序要执行要执行的下一条指令是在指令指针寄存器中,指令指针确定程序中...
分类:
系统相关 时间:
2015-05-09 16:32:58
阅读次数:
319
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
循环也是改变指令执行顺序的一种方式,循环操作重复的执行,直到满足条件。我们可以使用条件跳转指令来创建循环,但事实上汇编语言中有更简单的循环指令系列。
循环指令使用ECX寄存器作为计数器,随着循环指令的执行自动递减它的值,并且不会影...
分类:
系统相关 时间:
2015-05-09 16:31:18
阅读次数:
185