日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【CSAPP】三、程序的机器级表示

發布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【CSAPP】三、程序的机器级表示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章基于兩種相關的機器語言:Intel IA32和x86-64,前者注重32位,后者注重64位。

本章脈絡:c\匯編\機器碼之間的關系,數據的表示,控制結構如何實現。運行棧,局部變量的存儲,數據結構。

?

【一】程序編碼

-O1表示1級optimize,一般第二級優化比較好。

1、機器級代碼

兩種抽象尤為重要:1、機器級程序的格式和行為 --指令集體系結構。2、儲存器地址是虛擬的,字節數組。

機器級代碼可控部分:

程序計數器(pc, %eip)

整數寄存器文件:8個命名的位置,分別存儲32位的值,可以是數據,也可以是地址。

條件碼寄存器?

?

【二】數據格式

字:16位 w

雙字:32位 dw

四字:64位 qw

匯編后綴:b:1, w:2, l:4, 浮點數 s:4, l:8 不會引起歧義,浮點數舒勇不同的指令和寄存器

?

【三】訪問信息

1、操作數指示符

除了立即數和寄存器,都要有尋址的操作。

立即數$0x108, 寄存器%eax

寄存器尋址直接加括號(%eax),前面加數就是偏移量,Imm(Ep, Ei, s) 即為 M[Imm + R[Ep] + R[Ei] * s]

2、數據傳送指令

MOV S, D

后綴有MOVS MOVZ,分別是符號擴展和零擴展

PUSH %eax (棧指針是規定好的, %esp)

3、算術和邏輯操作

leal S, D 將寄存器S中地址的數加載到寄存器D中

加一、減一、取負、取補

加、減、乘、異或、或、與

左移、算術右移、邏輯右移

4、控制

?

轉載于:https://www.cnblogs.com/yesuuu/p/6938102.html

總結

以上是生活随笔為你收集整理的【CSAPP】三、程序的机器级表示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。