匯編語(yǔ)言與機(jī)器語(yǔ)言
- 高級(jí)語(yǔ)言 --(編譯)-->匯編語(yǔ)言 --(編譯)-->機(jī)器語(yǔ)言---->計(jì)算機(jī)
- 反匯編: 將機(jī)器語(yǔ)言 反匯編成 匯編語(yǔ)言
- 特點(diǎn):
- 直接訪問(wèn), 控制各種硬件設(shè)備. 比如存儲(chǔ)器, cpu, 最大限度發(fā)揮硬件功能
- 執(zhí)行效率高, 占用內(nèi)存少
- 不區(qū)分大小寫
- 用途
- 編寫驅(qū)動(dòng), 操作系統(tǒng)
- 軟件安全, 預(yù)防病毒, 逆向, 加殼, 破解, 外掛, 免殺, 漏洞, 加密解密, 黑客
- 理解計(jì)算機(jī)系統(tǒng)的最佳起點(diǎn)
匯編語(yǔ)言種類
- 8086
- win32
- win64
- arm(嵌入式, iOS, mac)
- armv6, armv7, armv7s(iphone 4s), armv64(iphone 5以后)
1Byte(字節(jié)) = 8bit(位)
1k = 2^10 =1024byte;
1M = 2^20 = 1024k;
1G= 2^30 = 1024M
4G= 2^32 (32位)
16G = 2^34(64位 數(shù)據(jù)總線)
- armv6, armv7, armv7s(iphone 4s), armv64(iphone 5以后)
總線 (Bus)
地址總線 (AB)
- 地址總線的寬度決定了cpu尋址能力
- 8086地址總線寬度20, 尋址能力2^20=1M
數(shù)據(jù)總線 (DB)
- 寬度決定了 cpu 單次數(shù)據(jù)傳輸量, 數(shù)據(jù)傳輸速度(單次吞吐量)
- 8086數(shù)據(jù)總線的寬度16(CPU 位), 單次傳遞2個(gè)字節(jié)
- 64位 cpu, 單次傳遞 8個(gè)字節(jié),(16個(gè)16進(jìn)制標(biāo)識(shí), 2個(gè)16進(jìn)制 保存1個(gè)字節(jié))