在第二章學習,剛開始學習了通用暫存器,其中老師主要介紹了四種暫存器,分別是ax、bx、cx、dx,然後ax又可以分為ah和al兩部分,剩下的3個也是同理。這裡在乙個16位的資料時,就是ax代表前8位,al代表後8位,同時最重要的一點就是兩者不會互相影響,比如資料是0000001011111111,然後進行一段操作是add al 0001h,在這段操作後原來資料變成0000001000000000,而不會向前面進1。 下面講的彙編的一些指令,首先是move指令,move ax 18,這個的意思就是把18賦值給ax,或者說把18送入ax暫存器中,另乙個就是剛剛的add指令,就是把0001加到al上,資料儲存在al中。接下來的是實體地址,實體地址就是每個記憶體單元的位址,在需要使用時就從順著這個位址,去把位址中所代表的資料取出來。
之後的部分就是計算實體地址了,公式非常簡單就是實體地址=段位址x16+偏移位址,其中有要注意的是段位址和偏移位址,我們的寫法不固定,還是舉個例子更好理解,比如8f354h,這種5位的16進製制資料,我們的段位址可以選擇是8f35,偏移位址可以選擇是4。當然,我們也可以選擇段位址為8f00,那麼便宜位址就是0354。因為這個是16進製制,所以我們可以知道段位址在乘16之後,其實就是在後面加上乙個0,這個就和十進位制演算法一樣,只不過有些人不明白是腦子轉不過來,之後再相加就是8f354h。
最後的部分就是cs和ip的部分,這部分理解起來也還好,就是每一部分我們的命令都是有機器碼的,機器碼都是有各自的位址的,我們從一部分指令開始之後,按照我們的正常順序應該是直接繼續下面,但是這裡不一定,機器碼可以直接往下跳,比如我們在10000h的位址先進行3個格仔的機器碼操作,之後那麼ip變成3位,然後如果但是如果我們後面有乙個指令jmp 2000:3,那麼就是cs變成2000,ip變成3,那我們的下一步操作就要從實體地址=2000x16+3的地方開始進行。
不過我有點忘記了,剛開始時候我對這一部分有哪一部分並不清楚的,但是又忘記了哪一部分不清楚。就導致我忘記了,我有什麼不清楚的了。
第二章總結
學了c 後,我對第二章做出了總結,了解了以下幾點 1 cin語句,cout語句的使用 2 資料型別和他們各自的資料範圍及程式設計應用 3 定義常量與變數的格式及它們的含義 4 字元變數的運算和getchar,putchar的使用 5 算數運算子的含義,在實際問題程式設計中的應用 6 在賦值語句中 是...
第二章 總結
1 include標頭檔案 using namespace std int main 以上為必寫項 2 cout 輸出功能及插入運算子 int 整型,而且常用於定義字元未知量,賦值 a 97 a 65 0 48 3 1 符號常量格式 型別名 const 常量名或者const 型別名 常量名,常量名一...
第二章總結
值型別和引用型別 值型別 八大基本資料型別 列舉enum 結構struct 引用型別 class類,string字串,陣列 結構語法 public struct student 注意點 在結構中可以有字段和方法 定義結構時,結構中的字段不能被賦初值 可以不用new,直接定義結構的物件即可 宣告結構的...