首页
社区
课程
招聘
[旧帖] [原创]从汇编看cpu的智能 0.00雪花
发表于: 2010-7-31 10:07 2220

[旧帖] [原创]从汇编看cpu的智能 0.00雪花

2010-7-31 10:07
2220
计算机世界的高级语言都是从无到有的过程,汇编是将繁琐难记的二进制语言,用助记符的形式予以代替,从而使计算机变得更加容易控制。编程也更容易实现了。后面接下来的高级语言则更像自然语言了。

汇编语言指令格式
由4部分组成:
[标号[:]]指令助记符 目的操作数,源操作数[;注释]
标号表示该指令在主存中的逻辑地址
每个指令助记符就代表一种指令
目的和源操作数表示参与操作的对象
注释是对该指令或程序段功能的说明

汇编指令第一大类:数据传送指令
数据传送指令共有12条:MOV(最常见)
PUSH               POP    (联合对堆栈进行操作)               
XCHG(两个数据交换)
XLAT(换码指令‘可以加密)                LEA(有效地址(只是偏移量)传送)
LDS (加载数据寄存器,少用)                  LES(加载附加段寄存器 少用)
LAHF                SAHF(标志寄存器传送,为了与8086兼容,现在基本不用)
PUSHF              POPF(标志寄存器传送)
上述指令主要是完成对数据的传送,除操作标志位寄存器外,其余传送指令皆不影响标志位。

汇编指令第二大类:算术运算指令
算术运算当然不外加减乘除了,注意算术运算对标志位的影响。下面是常用的和主要的
加法指令 ADD/ADC/INC、 减法指令SUB/SBB/DEC/ NEG(求补)/CMP(不改变结果,但影响标志位)
乘法指令 mul/imul(有符号) 除法指令 div/idiv(有符号)

汇编指令第三大类:逻辑运算指令
逻辑非 NOT   逻辑与 AND  逻辑或 OR  逻辑异或 XOR(这个可以做加密哦,两次异或二进制又成为和原文一模一样了,呵呵)   逻辑测试指令  TEST (进行逻辑与运算,不改变结果,改变标志位)
逻辑指令提供了对二进制位的操作,可以窥测到计算机的底层。

汇编指令第四大类:移位操作指令
逻辑移位:shl(逻辑左移) shr(逻辑右移)
算术移位:sal(算术左移) sar(算术右移)
不带进位循环移位:(rol)(ror)
带进位循环移位:(rcl)(rcr)
移位指令对标志的影响:
CF:按移入的移位设置
SF\ZF\PF:根据移位的结果设置
AF:没有定义
OF:根据最高有效位设置(如果移位前后操作数的最高有效位不同则OF=1,否则OF=0):主要是针对移动一位时,若多次移位则未知

汇编指令第五大类:状态标志位操作
CF   清零clc  置位stc   (df、if指令类似)

汇编指令第六大类:代码跳转指令
JMP call loop ret
代码跳转指令很重要   计算机没有了他们就只能一条直路通到底了  那跟计算器没什么区别

汇编指令还有很多,但只挑这些与计算机思考的方面来说   计算机到底能干什么呢?
高级的语言编出的程序可以完成很多的工作,但归根结底他们都是有一块一块砖垒起成了高楼大厦。

从上面所汇总的基本汇编指令来看,cpu到底能做什么呢?
第一,给数据挪窝,方便cpu处理;第二,加减乘除,哲学讲那就是量变引起质变;第三,深入底层,改变状态和操作二进制,改变程序流程。流程改变了那才能做点大事。  cpu两大部件 算逻运算部件  控制部件  进行处理这些指令和数据

呵呵计算机绝对不是万能的。
它是有限制的。算法能不能实现就是限制它的条件。当然你可以搞个无限循环来着  但那有什么意思呢!
算法是程序的灵魂。算法定义自己找下,比较的复杂  呵呵
一个算法应该具有以下五个重要的特征:  
1、有穷性
这个太重要了,虽然微软的操作系统就设计成一个无限循环(时刻等待着你的操作),但它也是有穷的,你一关机,它就不循环了
2、确切性
  模糊不仅是表现性的天敌也是计算机的天敌。确切的定义意味着计算机准确的自动控制
3、输入
  一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4、输出
  一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5、可行性
  算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成。

所以计算机按照算法来进行自我的间接控制。然后把你想要的结果给反映出来 可以显式的(在屏幕是显示)可以是隐士的(在寄存器或ram中等待被召唤) 但计算机能操作的是二进制语言,它的智能就是虚拟,都不是物质的。不考虑硬件是物质的。
它的智能的基础就是量变(比如算术的加减)和突变(比如程序跳转)引起表象的变化。
除此之外,它无能为力。
二进制和八卦同根同源 同出一门,现在很多研究易经的人都认为易经广大悉备 博大精深  计算机把易经发扬光大了。
其实他两的倒真有许多相同之处。
易经中一阴一阳为之道,
计算机中一加一减为之变。
呵呵

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 955
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
居然拿到沙发  哈哈
2010-7-31 10:37
0
雪    币: 1140
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
易经!楼主精辟!
2010-8-1 09:16
0
雪    币: 218
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
易经=二进制,楼主太列害了
2010-8-1 14:18
0
雪    币: 68
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
把二进制和易经相提并论?楼主太牛了!
2010-8-1 18:10
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
写的不错,鼓励 鼓励
2010-8-1 20:58
0
雪    币: 219
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哈哈    以前的贴    再次观看下!
2011-6-22 21:26
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习学习学习学习学习
2011-6-23 05:29
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我也需要这个呢!!
2011-6-23 07:15
0
雪    币: 219
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵   兜了一大圈    我又回来了!
2011-12-19 08:30
0
雪    币: 63
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我很认真的看完了!
2011-12-19 08:55
0
游客
登录 | 注册 方可回帖
返回
//