2018 12 23 彙編學習筆記

2021-09-05 09:15:12 字數 943 閱讀 7642

三、pusha 指令

四、popa 指令

五、iret 指令

六、函式外鏈結

以累加暫存器為例,在 16 位系統中叫做 ax,在 32 位系統中叫做 eax,在 64 位系統中叫做 rax。但為了相容,在 32 位系統中,eax 的低 16 位叫做 ax,在 64 位系統中,rax 的低 32 位叫做 eax。

本文在暫存器名字的表述上,皆用 16 位系統下的名字來表述,比如暫存器 ip,泛指任意位數系統中的指令暫存器,即 16 位的 ip,32 位的 eip,64 位的 rip 一律用 ip 代指。

**段暫存器 cs:經過一系列計算可得**段基址

若運算元為指令在段中的偏移位址,則取出後存放在指令指標暫存器 ip 中。

將以下暫存器按順序壓棧:

ax、cx、dx、bx、sp、bp、si 及 di。

其中 sp 壓棧的值是 ax 壓棧之前的值。

依次恢復以下暫存器:

di、si、bp、sp、bx、dx、cx 及 ax。

依次恢復以下暫存器:

ip、cs、psw(即標誌暫存器)、esp、ss。

[global loadidtr]

loadidtr:

mov eax, [esp+4]

lidt [eax]

ret.end:

globalloadidtr函式宣告為全域性函式,告訴其他檔案想要呼叫loadidtr就來這裡查詢。

[extern printf]

main:

call printf

ret.end

externprintf函式宣告為外部函式,表明 printf 函式**不在本檔案,要去別的檔案查詢。

2018 12 23 無障礙學習小計

aria expanded 指示元素展開或者摺疊 aria hidden 從無障礙樹移除元素及其子項,aria labeledby和aria describedby引用的元素除外 將dom一些元素隱藏,可做如下的設定,也可以將為螢幕閱讀器使用者呈現的內容放在螢幕之外,aria describedby...

彙編學習筆記

1 cpu的指令集 cpu內整合了不同功能的電路模組 如 加 減法器,比較器 正常工作所對應的不同高低電平 數電知識 組合語言是人對機器指令的語言表述。2 cpu對硬體的控制實際是訪問其記憶體 如顯示卡上整合有ram 視訊記憶體 和rom 裝有唯讀bios 源 被編譯成機器 後被載入記憶體。3 程式...

彙編學習筆記

彙編檔案為 s 檔案 因為c程式執行需要棧,設定好棧了之後就可以呼叫c程式了 bl delay 呼叫delay 暫存器移位 mov r0,r1,lsl 3 r1內容左移3位送r0 暫存器間接定址 ldr r1,r2 r2做位址取數送r1 基址變址定址 ldr r1,r2,4 r2 4作位址取數送r1...