首页
社区
课程
招聘
[旧帖] 机器-汇编-高级,汇编这一层有替代吗? 0.00雪花
发表于: 2012-1-19 23:53 8657

[旧帖] 机器-汇编-高级,汇编这一层有替代吗? 0.00雪花

2012-1-19 23:53
8657
电脑运行的永远都是机器语言
不管你是C 、C++、JAVA、VB、VF....还是什么,对于电脑来说他只会运行机器语言
任何程序终归会变成机器语言让电脑去运行.

所以汇编语言相当高效率,因为他是低级语言
除了汇编还有直接和机器做交流的其他成系统的低级语言吗?
有没有人做过把汇编语言相对应的机器码全部列出来。。?

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

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 603
活跃值: (40)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
更低级的。。。。硬件描述语言。。。。。
2012-1-20 00:02
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最简单的就是 0 和 1
2012-1-20 00:26
0
雪    币: 329
活跃值: (230)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
4
指令集依照机器操作码、汇编助记符和汇编操作数来描述指令,遵循下列约定:

l reg8: 8位寄存器。

l reg16: 16位寄存器。

l mem8: 8位内存数值。

l mem16: 16位内存数值。

l immed8: 8位立即数值。

l immed16: 16位立即数值。

l immed32: 32位立即数值。

l segReg: 16位段寄存器。


机器操作码
汇编助记符和操作数

00
ADD reg8/mem8,reg8

01
ADD reg16/mem16,reg16

02
ADD reg8,reg8/mem8

03
ADD reg16,reg16/mem16

04
ADD AL,immed8

05
ADD AX,immed16

06
PUSH es

07
POP es

08
OR reg8/mem8,reg8

09
OR reg16/mem16,reg16

0A
OR reg8,reg8/mem8

0B
OR reg16,reg16/mem16

0C
OR al,immed8

0D
OR ax,immed16

0E
PUSH cs

0F
Not used

10
ADC reg8/mem8,reg8

11
ADC reg16/mem16,reg16

12
ADC reg8,reg8/mem8

13
ADC reg16,reg16/mem16

14
ADC al,immed8

15
ADC ax,immed16

16
PUSH ss

17
POP ss

18
SBB reg8/mem8,reg8

19
SBB reg16/mem16,reg16

1A
SBB reg8,reg8/mem8

1B
SBB reg16,reg16/mem16

1C
SBB al,immed8

1D
SBB ax,immed16

1E
PUSH ds

1F
POP ds

20
AND reg8/mem8,reg8

21
AND reg16/mem16,reg16

22
AND reg8,reg8/mem8

23
AND reg16,reg16/mem16

24
AND al,immed8

25
AND ax,immed16

26
Segment override

27
DAA

28
SUB reg8/mem8,reg8

29
SUB reg16/mem16,reg16

2A
SUB reg8,reg8/mem8

2B
SUB reg16,reg16/mem16

2C
SUB al,immed8

2D
SUB ax,immed16

2E
Segment override

2F
DAS

30
XOR reg8/mem8,reg8

31
XOR reg16/mem16,reg16

32
XOR reg8,reg8/mem8

33
XOR reg16,reg16/mem16

34
XOR al,immed8

35
XOR ax,immed16

36
Segment override

37
AAA

38
CMP reg8/mem8,reg8

39
CMP reg16/mem16,reg16

3A
CMP reg8,reg8/mem8

3B
CMP reg16,reg16/mem16

3C
CMP al,immed8

3D
CMP ax,immed16

3E
Segment override

3F
AAS

40
INC ax

41
INC cx

42
INC dx

43
INC bx

44
INC sp

45
INC bp

46
INC si

47
INC di

48
DEC ax

49
DEC cx

4A
DEC dx

4B
DEC bx

4C
DEC sp

4D
DEC bp

4E
DEC si

4F
DEC di

50
PUSH ax

51
PUSH cx

52
PUSH dx

53
PUSH bx

54
PUSH sp

55
PUSH bp

56
PUSH si

57
PUSH di

58
POP ax

59
POP cx

5A
POP dx

5B
POP bx

5C
POP sp

5D
POP bp

5E
POP si

5F
POP di

60
PUSHA

61
POPA

62
BOUND reg16/mem16,reg16

63
Not used

64
Not used

65
Not used

66
Not used

67
Not used

68
PUSH immed16

69
IMUL reg16/mem16,immed16

6A
PUSH immed8

6B
IMUL reg8/mem8,immed8

6C
INSB

6D
INSW

6E
OUTSB

6F
OUTSW

70
JO immed8

71
JNO immed8

72
JB immed8

73
JNB immed8

74
JZ immed8

75
JNZ immed8

76
JBE immed8

77
JA immed8

78
JS immed8

79
JNS immed8

7A
JP immed8

7B
JNP immed8

7C
JL immed8

7D
JNL immed8

7E
JLE immed8

7F
JG immed8

80
Table2 reg8

81
Table2 reg16

82
Table2 reg8

83
Table2 reg8, reg16

84
TEST reg8/mem8,reg8

85
TEST reg16/mem16,reg16

86
XCHG reg8,reg8

87
XCHG reg16,reg16

88
MOV reg8/mem8,reg8

89
MOV reg16/mem16,reg16

8A
MOV reg8,reg8/mem8

8B
MOV reg16,reg16/mem16

8C
MOV reg16/mem16,segReg

8D
LEA reg16,reg16/mem16

8E
MOV segReg,reg16/mem16

8F
POP reg16/mem16

90
NOP

91
XCHG ax,cx

92
XCHG ax,dx

93
XCHG ax,bx

94
XCHG ax,sp

95
XCHG ax,bp

96
XCHG ax,si

97
XCHG ax,di

98
CBW 99CWD

9A
CALL immed32

9B
WAIT

9C
PUSHF

9D
POPF

9E
SAHF

9F
LAHF

A0
MOV al,[mem8]

A1
MOV ax,[mem16]

A2
MOV [mem8],al

A3
MOV [mem16],ax

A4
MOVSB

A5
MOVSW

A6
CMPSB

A7
CMPSW

A8
TEST al,[mem8]

A9
TEST ax,[mem16]

AA
STOSB

AB
STOSW

AC
LODSB

AD
LODSW

AE
SCASB

AF
SCASW

B0
MOV al,immed8

B1
MOV cl,immed8

B2
MOV dl,immed8

B3
MOV bl,immed8

B4
MOV ah,immed8

B5
MOV ch,immed8

B6
MOV dh,immed8

B7
MOV bh,immed8

B8
MOV ax,immed16

B9
MOV cx,immed16

BA
MOV dx,immed16

BB
MOV bx,immed16

BC
MOV sp,immed16

BD
MOV bp,immed16

BE
MOV si,immed16

BF
MOV di,immed16

C0
Table1 reg8

C1
Table1 reg8, reg16

C2
RET immed16

C3
RET

C4
LES reg16/mem16,mem16

C5
LDS reg16/mem16,mem16

C6
MOV reg8/mem8,immed8

C7
MOV reg16/mem16,immed16

C8
ENTER immed16, immed8

C9
LEAVE

CA
RET immed16

CB
RET

CC
INT 3

CD
INT immed8

CE
INTO

CF
IRET

D0
Table1 reg8

D1
Table1 reg16

D2
Table1 reg8

D3
Table1 reg16

D4
AAM

D5
AAD

D6
Not used

D7
XLAT [bx]

D8
ESC immed8

D9
ESC immed8

DA
ESC immed8

DB
ESC immed8

DC
ESC immed8

DD
ESC immed8

DE
ESC immed8

DF
ESC immed8

E0
LOOPNE immed8

E1
LOOPE immed8

E2
LOOP immed8

E3
JCXZ immed8

E4
IN al,immed8

E5
IN ax,immed16

E6
OUT al,immed8

E7
OUT ax,immed16

E8
CALL immed16

E9
JMP immed16

EA
JMP immed32

EB
JMP immed8

EC
IN al,dx

ED
IN ax,dx

EE
OUT al,dx

EF
OUT ax,dx

F0
LOCK

F1
Not used

F2
REPNE

F3
REP

F4
HLT

F5
CMC

F6
Table3 reg8

F7
Table3 reg16

F8
CLC

F9
STC

FA
CLI

FB
STI

FC
CLD

FD
STD

FE
Table4 reg8

FF
Table4 reg16



希望对你有帮助
2012-1-20 00:52
0
雪    币: 1240
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼上的朋友你当这是百度知道啊?呵呵!
说句正经的,汇编的效率已经是极高了,基本上能做到和机器语言一一对应了,没有更高效的编程语言了。
在硬件性能已经足够高的今天,追求运行效率的意义已经不大,汇编语言一般只用在调试和破解领域了。而汇编有个很大的问题,就是移植性极差,硬件平台一换,所有的程序全部作废,在多种平台百花齐放的今天,用汇编写应用程序就是自找死路。

顺便说一下,C语言有个非正式的外号,叫“中级语言”,效率比汇编略低,移植性又极强,是个不错的选择。
2012-1-20 02:01
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
汇编已经和机器语言一一对应了 只是方便写和看而已
而机器语言就已经可以直接运行了 所以没有什么替代品了
2012-1-20 03:35
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
只有解释执行机器语言的"微代码"了
2012-1-20 08:49
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,能用就行了,没有像你那样研究
2012-1-20 08:58
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
9
汇编就是机器码的白话版,已经很接近机器码了,本质上无法代替!
2012-1-20 11:05
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
同意各位的意见,同意批!
2012-1-21 20:12
0
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
只有无限往下面去学,你说呢?这样才能低级到高级嘛
2012-1-22 00:06
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
替代?恐怕只有还平台了吧
2012-2-1 13:01
0
雪    币: 31
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
类似java虚拟机应该可以。
2012-2-1 13:31
0
雪    币: 71
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
4楼的兄弟,真可谓用心良苦!呵呵~~
2012-2-2 09:52
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
呵呵~~凑个热闹
2012-2-2 09:55
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
16
机器码都可以转为汇编描述。
但是并不是所有的汇编语句都可以使用相应的高级语言来描述。
比如自定位代码。。。

结论就是没有可以完全替代的语言,IDA 的插件也不一定准确。
2012-2-2 11:18
0
雪    币: 241
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看看怎么回事~!~!~
1
2012-2-15 10:43
0
游客
登录 | 注册 方可回帖
返回
//