(1)编译目标:C++代码经常编译成汇编语言。而C#则编译成中间语言(IL)它与Java的字节代码有些相似。IL随后在通过Iust-In-Time编译进程转换成本机的可执行代码。IL代码将作为一个装配件存储在一个或多个文件中,一个装配件就形成一个单元,IL代码就是在该单元中被打包的,对应于C++编译...
分类:
编程语言 时间:
2014-07-16 20:07:15
阅读次数:
151
疯狂的暑假学习之 汇编入门学习笔记 (八)—— 转移指令
参考: 《汇编语言》 王爽 第9章
可以修改ip或者同时修改cs和ip的指令统称为转移指令。
8086CPU转移行为分为:
段内转移:只修改ip
段间转移:同时修改cs和ip
段内转移按ip修改的范围可分为:
短转移:ip修改范围 -128~127
近转移:ip修改范围 -32768~32767
转移指令分为:
无条件转移指令。如 jmp
条件转移指令
循环指令。如 loop
过程。
中断。...
分类:
其他好文 时间:
2014-07-14 11:08:04
阅读次数:
206
汇编语言是直接对应系统指令集的低级语言,在语言越来越抽象的今天,汇编语言并不像高级语言那样使用广泛,仅仅在驱动程序,嵌入式系统等对性能要求苛刻的领域才能见到它们的身影。但是这并不表示汇编语言就已经没有用武之地了,通过阅读汇编代码,有助于我们理解编译器的优化能力,并分析代码中隐含的低效率,所以能够阅读...
分类:
编程语言 时间:
2014-07-13 22:29:43
阅读次数:
357
2014-7-12
汇编语言的应用
历史上,汇编语言曾经是非常流行的程序设计语言之一。随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。但即便如此,高级语言也不可能完全替代汇编语言的作用。就拿Linux内核来讲,虽然绝大部分代码是用C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码。由于这部分代码与硬件的关系非常密切,即使是C语言也会显得力不从心...
分类:
编程语言 时间:
2014-07-12 23:54:07
阅读次数:
406
AT&T汇编和intel汇编的区别
(1) 在Intel格式中大多使用大写字母,而在AT&T格式中都是用小写字母。
(2) 在AT&T格式中,寄存器名要加上“%”作为前缀,而在intel格式中则不带前缀。
(3) 在AT&T的386汇编语言中,指令的源操作数与目标操作数的顺序与在intel的386汇编语言中正好相反。在intel格式中是目标在前,源在后;而在AT...
分类:
其他好文 时间:
2014-07-12 22:05:48
阅读次数:
382
Debug (调试版) 汇编和 Release (发行版)
汇编的认识
调试版基本不优化,发行版则一般都优化到极致。
Windows驱动开发中,一般称为Check版本和Free版本
我们暂时只研究Debug(调试版)
for循环C实现:
int func(int a,int b)
{
int c=a+b;
int i;
for(i=0;i<50;i++){
...
分类:
编程语言 时间:
2014-07-10 23:42:14
阅读次数:
284
if else条件判断 C语言实现:
void Conditional(int c){
if (c>0 && c10 && c<100)
{
printf("c大于10,小于100");
}
else{
printf("其它");
}
}
void main(){
int num=5;...
分类:
编程语言 时间:
2014-07-10 22:56:47
阅读次数:
250
疯狂的暑假学习之 汇编入门学习笔记 (七)—— dp,div,dup
参考: 《汇编语言》 王爽 第8章
1. bx、si、di、和 bp
8086CPU只有4个寄存器可以用 “[...]” 中进行单元寻址。
bp:除了默认的段地址是ss,其他与bx一样。
它们所有正确的组合
mov ax,[bx]
mov ax,[si]
mov ax,[di]
mov ax,[dp]
mov ax,[bx+si]
mov ax,[bx+di]
mov ax,[bp+si]
mov ax,[bp+di]
mo...
分类:
其他好文 时间:
2014-07-10 22:15:57
阅读次数:
356
疯狂的暑假学习之 汇编入门学习笔记 (六)—— si、di,双重循环
参考: 《汇编语言》 王爽 第7章
1. and和or指令,与[bx+idata]
and和or,就不多说了。
[bx+idata] 这样写是可以的,某些情况下,比较方便。
[bx+idata] 也可以写成 idata[bx]
直接见例子:...
分类:
其他好文 时间:
2014-07-10 20:00:16
阅读次数:
272
CPU构成典型的cpu有运算器,控制器,寄存器 等器件组成。这些器件靠内部总线相连寄存器寄存器是cpu内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址8086CPU有14 个寄存器 AX , BX, CX, DX, SI, DI, SP, BP, IP, CS , S...
分类:
编程语言 时间:
2014-07-09 16:35:49
阅读次数:
308