我正努力学习汇编语言,但是有些基本概念难以理解。EAX、EBX和ECX只是变量吗?它们除了存储值之外还有独特的用途吗?
我正努力学习汇编语言,但是有些基本概念难以理解。EAX、EBX和ECX只是变量吗?它们除了存储值之外还有独特的用途吗?
mul
、div
、cwd
、xlat
、movsb/w/d
、loop
、rdtsc
等),在选择寄存器时非常重要(特别是在程序的中间);在纯汇编中,ABI大多数情况下是无关紧要的(当您不将汇编与其他语言混合使用,如C,并且不强制遵守不同语言编译器所期望的任何内容时)。 - BrendanEAX, EBX, ECX, EDX, EBP, EDI和ESI寄存器都是32位通用寄存器,用于临时数据存储和内存访问。
https://web.archive.org/web/20191114093028/https://gerardnico.com/computer/cpu/register/general
一些CPU指令修改特定寄存器。例如,movsb
从ESI获取源地址,从EDI获取目的地,复制一个字节并更改ESI和EDI寄存器。