匯編學(xué)習(xí) 1 寄存器的作用 尋址方式首先 是寄存器的介紹
寄存器名 說明 功能 eax: 累加器 加法乘法指令的缺省寄存器, 函數(shù)返回值 ecx 計(jì)數(shù)器 REP & LOOP指令的內(nèi)定計(jì)數(shù)器 edx 除法寄存器 存放整數(shù)除法產(chǎn)生的余數(shù) ebx 基址寄存器 在內(nèi)存尋址時(shí)存放基地址 esp 棧頂指針寄存器 SS:ESP當(dāng)前堆棧的棧頂指針 ebp 棧底指針寄存器 SS:EBP當(dāng)前堆棧的棧底指針 esi, edi 源、目標(biāo)索引寄存器 在字符串操作指令中,DS:ESI指向源串 ES:EDI指向目標(biāo)串 //以上為通用寄存器 eip 指令寄存器 CS:EIP指向下一條指令的地址 (也叫PC) eflags 標(biāo)志寄存器 標(biāo)志寄存器 cs 代碼段寄存器 當(dāng)前執(zhí)行的代碼段 ss 椎棧段寄存器 stack segment, 當(dāng)前堆棧段 ds 數(shù)據(jù)段寄存器 data segment, 當(dāng)前數(shù)據(jù)段 然后是 尋址方式 1 直接尋址方式 直接訪問內(nèi)存地址 2:寄存器間接尋址方式: 通過寄存器中存儲(chǔ)的內(nèi)存地址訪問內(nèi)存 3 寄存器相對(duì)尋址方式: 將寄存器中內(nèi)存地址加上一個(gè)數(shù)值后作為地址訪問內(nèi)存 4:基址變址尋址方式: 把一個(gè)基址寄存器(EBX或EBP)的內(nèi)容加上變址寄存器(ESI或EDI)的內(nèi)容構(gòu)成有效地址的尋址方式。若基址寄存器使用EBX,其默認(rèn)段為數(shù)據(jù)段DS;若基址寄存器使用EBP,其默認(rèn)段為堆棧段SS 5:相對(duì)基址變址尋址方式: 就是基址變址尋址方式得出的地址再加上一個(gè)數(shù)值然后進(jìn)行尋址 譬如[EBX + EDI + 100] 一些基礎(chǔ) 再加上指令的基礎(chǔ) 就可以讀懂基本的匯編語句 可以進(jìn)行debug和寫程序了 |
|
|