基于Intel的汇编器有,微软的MASM(microsoft macro assembler)、TASM(Turbo Assembler)、NASM(Netwide Assebler)、GNU assembler.TASM的语法与MASM非常相近; 与MASM语法第二接近的汇编器是NASM; 而GN...
分类:
其他好文 时间:
2014-07-10 16:16:09
阅读次数:
218
Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等。还记得我们在学习C程序的时候,从C代码到可执行文件经历的步骤是:源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可...
分类:
移动开发 时间:
2014-07-01 20:31:43
阅读次数:
271
前言:汇编语言,对下取决于体系结构;对上取决于汇编器。在linux下,GCC编译出来的汇编默认为ATT语法的汇编,本文主要介绍ATT汇编:操作数长度、立即数表示方法,寄存器引用,操作数顺序,符号常量,内存引用等。
1,操作数的长度
操作数的长度用加在指令后的符号表示 b(byte, 8-bit), w(word, 16-bits), l(long, 32-...
分类:
其他好文 时间:
2014-06-27 10:44:54
阅读次数:
800
1.开发工具
在汇编语言中,用到的工具主要用以下几个:
汇编器、连接器、调试器、编译器
因为我在这里的是AT&T汇编语言,所以工具下也都是gnu下的那些。
1.1 汇编器(as)
汇编器有很多,masm,nasm,gas等,不像高级语言,虽然都叫汇编语言,但不同的汇编器,其语法是存在很大不同的。Intel汇编的书籍到处可见,可是AT&T的却少之又少。但想看Linux内核的话,还是要对A...
分类:
编程语言 时间:
2014-06-24 17:58:34
阅读次数:
292
1. 语言处理器语言处理系统 _________ 经过预 _______源程序 --> |预处理器| --> 处理的 --> |编译器| --> 目标汇编程序 -------- 源程序 ------- _______ 可重定位的 ______________--> |汇编器| --> 机器代码 --...
分类:
其他好文 时间:
2014-06-18 22:09:44
阅读次数:
194
GET通常用于包含定义常量的源文件。
例如:GET 2440addr.inc
用AREA定义一个段,ENTRY用于指定程序的入口点,END用于告诉汇编器源文件已经结束。
例如:
AREA init, CODE, READONLY
ENTRY
......
END
EQU用于定义常量,提醒:在每条ARM指令前必须有空格,但是用EQU定义常量时,必须顶格写,否则编译器报错。
LT...
分类:
其他好文 时间:
2014-06-18 06:12:59
阅读次数:
244
ARM 汇编语言源代码行的语法规则
3.1 Syntax of source lines in assembly language
汇编器首先解析汇编语言源代码,然后把源代码汇编成目标文件。汇编语言源代码的每一行都要符合如下所示的语法格式:
{symbol} {instruction|directive|pseudo-instruction}...
分类:
编程语言 时间:
2014-06-10 15:44:52
阅读次数:
264
1.1程序被其他程序翻译成不同的格式 1.hello.c#include int main(){
printf("hello world\n"); } 2.编译过程 3.编译系统 预处理器、编译器、汇编器和链接器一起构成了编译系统
预处理阶段。预处理器(cp...
分类:
其他好文 时间:
2014-05-23 10:30:50
阅读次数:
297
gcc编译的流程是先做编译前的预处理,主要是对头文件和宏处理,然后由编译器处理成汇编语言代码,再由汇编器处理成机器语言代码,最后又链接器生成可执行代码
列举几个常用的参数
-o FILE 指定输出的文件名为FILE
-E FILE 对FILE只进行预处理
-S FILE 对FILE只进行预处理和编译器得到汇编代码
-c FILE 对FILE处理得到目标代码
不加...
分类:
其他好文 时间:
2014-05-21 17:07:51
阅读次数:
180
写这篇文章是看到一个as汇编器里编写的汇编代码,有一个指令int 80h没有搞懂,然后自己查资料发现不少东西,本文旨在浅显的分析linux的系统调用,主要是linux0.12内核来说!
目前操作系统内核的结构模式主要分为整体式的单内核和层次式的微内核模式。而0.12内核是单内核模式。在单内核模式的系统中,操作系统提供服务的流程:应用程序使用指定的参数值执行系统调用指令(int 80h),使CPU...
分类:
系统相关 时间:
2014-05-07 03:22:49
阅读次数:
468