留作备忘: gcc -S -masm=intel xxxx.c 生成elf可执行文件: gcc
-o xxx xxxx.s
分类:
系统相关 时间:
2014-07-22 23:07:53
阅读次数:
581
有一小段时间没写blog了,这段时间也不算忙,策划产品团队方向依旧不太明确,每天主要是修修补补,看看博文,相对还算蛮清闲的......
趁着周末空档整理下大二的记忆,梳理成文,留待以后回味......大二和现在比起来感觉过去好久了,不过大二却可以说是我人生重要的转折点,告别了每天踏实蹲图书馆看...
分类:
其他好文 时间:
2014-05-01 20:01:19
阅读次数:
318
编译过程简介 : C语言的源文件 编译成 可执行文件需要四个步骤, 预处理 (Preprocessing) 扩展宏, 编译 (compilation) 得到汇编语言, 汇编 (assembly) 得到机器码, 连接 (linking) 得到可执行文件;
-- 查看每个步骤的编译细节 : "-E" 对应 预处理, "-S" 对应 编译, "-c" 对应 汇编, "-O" 对应 连接;
-- 每个步骤对应的工具 : 预处理器 (CPP - The C Preprogressor), 编译器 (cc1), 汇编器...
分类:
其他好文 时间:
2014-05-01 17:55:35
阅读次数:
499
Bandwidth是一款内存带宽基准测试程序,主要针对x86及x86_64平台,通过顺序读写与随机读写不同大小的数据块,测试系统的内存带宽性能。
Bandwidth提供了一套汇编语言实现的支持库,用来完成体系结构相关的特定操作,例如读取某些寄存器的内容。
Bandwidth利用该汇编库,检测当前系统CPU的型号及支持的特性,并选择相应的工作模式,如笔者机器的CPU为:...
分类:
其他好文 时间:
2014-05-01 17:12:45
阅读次数:
457
一、简介
作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿 Linux
内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在 Linux 的启动部分。由于这部分代码与硬...
分类:
编程语言 时间:
2014-05-01 08:34:19
阅读次数:
622
语言发展
计算机的硬件只能识别0和1组成的机器指令,而机器指令是最基本的计算机语言,但是我们平时进行程序设计时肯定不会用机器语言来编程,因为用它的效率低,更让人难以理解。因此聪明的人类发明了汇编语言,它使用符号来表示指令,例如用ADD表示加法,这就容易理解了。但是汇编语言和机器语言十分接近,其书写取决于机器指令,因此它还是一种面向机器的语言,所以称它为低级语言。相应的,又在此基础上,开发出...
分类:
其他好文 时间:
2014-04-30 22:24:38
阅读次数:
319
什么是语言处理程序?
它是一类系统软件的总称。还是不懂?那好吧,我们把它给拆了? 拆完后=“语言”+“处理”+“程序”
首先,是什么类型的语言呢?是编程语言;处理即操作。程序
就不用说了吧。这里其实是给大家买了一个关子。简单的说语言处理程序就是:用来对编程语言进行处理的一类程序。
那么为什么要对编程语言进行操作呢?这不得...
分类:
其他好文 时间:
2014-04-29 13:41:21
阅读次数:
305
引言之前我们写过OR的裸机程序,写过基于OR的linux设备驱动程序,也反汇编过OR的机器码。本小节,我们将通过一个简单的实验,对OR的汇编(指令集)做一个简单的梳理和测试。1,基本思想要想了解OR的指令集,其实只要查查OpenRISC architecture manual就可以了,但是不是最好的熟悉方式,也没有必要将其所有指令集记下来。我认为,通过一个实际的工程或者例子,从中了解OR的指令集是...
分类:
其他好文 时间:
2014-04-29 13:33:22
阅读次数:
474
源码:
data segment
string1 db 'Please input a number:',0dh,0ah,'$'
string2 db 0dh,0ah,'It is a number!',0dh,0ah,'$'
string3 db 0dh,0ah,'It is not a number!',0dh,0ah,'$'
data ends
code segme...
分类:
编程语言 时间:
2014-04-29 13:33:20
阅读次数:
559