匯編實驗第一、二章總結
拖了很久才對第一、二章做出總結,感覺很不好意思。
如下正文:
1.1匯編語言的特點。
相較於機器語言,匯編語言更易於辨別和記憶。匯編語言的主體是匯編指令。匯編指令也是匯編語言的核心。匯編指令與機器指令的差別在於指令的表示方法上面。
(1) 是機器指令的集合。機器指令是0和1構成的二進制信息。
(2) 直接面向機器,與機器的硬件操作一一對應。計算機可以直接識別、執行,使用機器語言可以充分發揮計算機的硬件功能。
(3) 缺點: 依賴機器硬件,機器指令很難記憶,直接使用機器語言編制程序極易出錯,並且難以調試。
1.2匯編語言的指令組成:匯編指令,偽指令,其他符號。
1.3寄存器:用於存放cpu的數據信息,共14個,分別是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。
1.4 bit-------一個二進制位
有多少根數據線,就可以傳送多少位(bit)數據
地址總線寬度為X,則尋址能力為2^Xbit
一個存儲單元可以存儲1Byte=8 bit
1KB=1024B=2^10B
1MB=1024KB=2^20B
1GB=1024MB=2^30B
1TB=1024GB
1.5 Cpu對存儲器的讀寫依靠地址總線,數據總線,控制總線。地址信息指存儲單元的地址;控制信息指器件的選擇,讀寫的命令;數據信息指讀寫的數據。地址總線,控制總線,數據總線實際上使用的是共同的導線,因其傳遞的信息不同而有不同的命名。
地址總線的寬度決定了cpu的尋址能力。
數據總線的寬度決定了cpu與其他器件進行數據傳送時的一次數據傳送量;
控制總線的寬度決定了cpu對系統中其他器件的控制能力。
內存地址空間是邏輯上的概念,就是cpu的尋址空間,將其他所有器件的內存統一編號。
2.1一個典型的CPU由運算器、控制器、寄存器等器件組成。
內部總線實現CPU內部各個器件之間的聯系。
外部總線實現CPU和主板上其它器件的聯系。
2.2
R命令:查看、修改CPU中寄存器內容
D命令:查看內存中的內容
E命令:修改內存中的內容(可以寫入數據、指令,在內存中,它們實際沒有區別)
U命令:將內存中的內容解釋為機器指令和對應的匯編指令
T命令:執行CS:IP指向的內存單元處的指令
A命令:以匯編指令的形式向內存中寫入指令
2.3
mov ax,18:將18送入寄存器AX
mov ah,78:將78送入寄存器AH
add ax,8:將寄存器AX中的數值加上8
mov ax,bx:將寄存器BX中的數據送入寄存器AX中
add ax,bx:將AX和BX中的數值相加,結果存在AX中
在寫一條匯編指令或一個寄存器的名稱時不區分大小寫
當在處理AL或AH的數據時,若相加之後有進位,進位將會丟失(PS:只是不能在8位寄存器中保存,不是真正的丟失這個進位值)
AH和AL進行8位的運算,且AH和AL是兩個不相關的寄存器;AX進行16位的計算
在進行數據傳送或運算時,指令的兩個操作對象的位數應當是一致的
8086中,通過段地址: 偏移地址來間接描述內存單元的物理地址。CPU根據如下公式計算得到物理地址:
物理地址=段地址*16+偏移地址
其中:
① 「段地址: 偏移地址」 也稱「邏輯地址」
② 「段地址 × 16 」 構成段的起始物理地址,故根據需要劃分段使用時,段的起始物理地址必須是16的倍數。
註意計算機工作過程:
(1) CPU從何處執行指令是由CS和IP中的內容決定的。
(2) 程序員可以通過改變CS、IP中的內容來控制CPU執行目標指令。
(3) IP和CS值的修改不能通過mov指令實現,需借助轉移指令 (如jmp, call等)。
匯編實驗第一、二章總結