參數(shù)資料
型號: AMD64
英文描述: AMD64 Architecture Programmer's Manual Volume 1: Application Programming
中文描述: AMD64架構(gòu)程序員手冊卷1:應(yīng)用程序編程
文件頁數(shù): 87/400頁
文件大?。?/td> 2948K
代理商: AMD64
第1頁第2頁第3頁第4頁第5頁第6頁第7頁第8頁第9頁第10頁第11頁第12頁第13頁第14頁第15頁第16頁第17頁第18頁第19頁第20頁第21頁第22頁第23頁第24頁第25頁第26頁第27頁第28頁第29頁第30頁第31頁第32頁第33頁第34頁第35頁第36頁第37頁第38頁第39頁第40頁第41頁第42頁第43頁第44頁第45頁第46頁第47頁第48頁第49頁第50頁第51頁第52頁第53頁第54頁第55頁第56頁第57頁第58頁第59頁第60頁第61頁第62頁第63頁第64頁第65頁第66頁第67頁第68頁第69頁第70頁第71頁第72頁第73頁第74頁第75頁第76頁第77頁第78頁第79頁第80頁第81頁第82頁第83頁第84頁第85頁第86頁當(dāng)前第87頁第88頁第89頁第90頁第91頁第92頁第93頁第94頁第95頁第96頁第97頁第98頁第99頁第100頁第101頁第102頁第103頁第104頁第105頁第106頁第107頁第108頁第109頁第110頁第111頁第112頁第113頁第114頁第115頁第116頁第117頁第118頁第119頁第120頁第121頁第122頁第123頁第124頁第125頁第126頁第127頁第128頁第129頁第130頁第131頁第132頁第133頁第134頁第135頁第136頁第137頁第138頁第139頁第140頁第141頁第142頁第143頁第144頁第145頁第146頁第147頁第148頁第149頁第150頁第151頁第152頁第153頁第154頁第155頁第156頁第157頁第158頁第159頁第160頁第161頁第162頁第163頁第164頁第165頁第166頁第167頁第168頁第169頁第170頁第171頁第172頁第173頁第174頁第175頁第176頁第177頁第178頁第179頁第180頁第181頁第182頁第183頁第184頁第185頁第186頁第187頁第188頁第189頁第190頁第191頁第192頁第193頁第194頁第195頁第196頁第197頁第198頁第199頁第200頁第201頁第202頁第203頁第204頁第205頁第206頁第207頁第208頁第209頁第210頁第211頁第212頁第213頁第214頁第215頁第216頁第217頁第218頁第219頁第220頁第221頁第222頁第223頁第224頁第225頁第226頁第227頁第228頁第229頁第230頁第231頁第232頁第233頁第234頁第235頁第236頁第237頁第238頁第239頁第240頁第241頁第242頁第243頁第244頁第245頁第246頁第247頁第248頁第249頁第250頁第251頁第252頁第253頁第254頁第255頁第256頁第257頁第258頁第259頁第260頁第261頁第262頁第263頁第264頁第265頁第266頁第267頁第268頁第269頁第270頁第271頁第272頁第273頁第274頁第275頁第276頁第277頁第278頁第279頁第280頁第281頁第282頁第283頁第284頁第285頁第286頁第287頁第288頁第289頁第290頁第291頁第292頁第293頁第294頁第295頁第296頁第297頁第298頁第299頁第300頁第301頁第302頁第303頁第304頁第305頁第306頁第307頁第308頁第309頁第310頁第311頁第312頁第313頁第314頁第315頁第316頁第317頁第318頁第319頁第320頁第321頁第322頁第323頁第324頁第325頁第326頁第327頁第328頁第329頁第330頁第331頁第332頁第333頁第334頁第335頁第336頁第337頁第338頁第339頁第340頁第341頁第342頁第343頁第344頁第345頁第346頁第347頁第348頁第349頁第350頁第351頁第352頁第353頁第354頁第355頁第356頁第357頁第358頁第359頁第360頁第361頁第362頁第363頁第364頁第365頁第366頁第367頁第368頁第369頁第370頁第371頁第372頁第373頁第374頁第375頁第376頁第377頁第378頁第379頁第380頁第381頁第382頁第383頁第384頁第385頁第386頁第387頁第388頁第389頁第390頁第391頁第392頁第393頁第394頁第395頁第396頁第397頁第398頁第399頁第400頁
Chapter 3: General-Purpose Programming
53
24593—Rev. 3.09—September 2003
AMD 64-Bit Technology
The rBP register is used as a
stack frame pointer—
a base address
of the stack area used for parameters passed to subroutines and
local variables. Positive offsets of the stack frame pointed to by
rBP provide access to parameters passed while negative offsets
give access to local variables. This technique allows creating re-
entrant subroutines.
The ENTER and LEAVE instructions provide support for
procedure calls, and are mainly used in high-level languages.
The ENTER instruction is typically the first instruction of the
procedure, and the LEAVE instruction is the last before the
RET instruction.
The ENTER instruction creates a stack frame for a procedure.
The first operand,
size
, specifies the number of bytes allocated
in the stack. The second operand,
depth
, specifies the number of
stack-frame pointers copied from the calling procedure’s stack
(i.e., the nesting level). The depth should be an integer in the
range 0–31.
Typically, when a procedure is called, the stack contains the
following four components:
Parameters passed to the called procedure (created by the
calling procedure).
Return address (created by the CALL instruction).
Array of stack-frame pointers (pointers to stack frames of
procedures with smaller nesting-level depth) which are used
to access the local variables of such procedures.
Local variables used by the called procedure.
All these data are called the
stack frame
. The ENTER
instruction simplifies management of the last two components
of a stack frame. First, the current value of the rBP register is
pushed onto the stack. The value of the rSP register at that
moment is a
frame pointer
for the current procedure: positive
offsets from this pointer give access to the parameters passed to
the procedure, and negative offsets give access to the local
variables which will be allocated later. During procedure
execution, the value of the frame pointer is stored in the rBP
register, which at that moment contains a frame pointer of the
calling procedure. This frame pointer is saved in a temporary
register. If the depth operand is greater than one, the array of
depth-1
frame pointers of procedures with smaller nesting level
is pushed onto the stack. This array is copied from the stack
相關(guān)PDF資料
PDF描述
AMDATHLON AMD Athlon - AMD Athlon Processor Model 4 Revision Guide
AMDATHLON64 AMD Athlon 64 - Report of Management on Processor Performance Benchmarks AMD Athlon 64 Processor 3200+
AMDATHLONMP AMD Athlon MP - AMD Athlon MP Processor Model 6 Data Sheet
AMDATHLONXP AMD Athlon XP - AMD Athlon XP Processor Model 8 Data Sheet
AMDDURON AMD Duron - AMD Duron Processor Model 3 Revision Guide
相關(guān)代理商/技術(shù)參數(shù)
參數(shù)描述
AMD-640 制造商:未知廠家 制造商全稱:未知廠家 功能描述:AMD-640 Chipset IBIS I/O Model Application Note
AMD-640CHIPSET 制造商:未知廠家 制造商全稱:未知廠家 功能描述:Peripheral IC
AMD650-N10D-T 制造商:SMC Corporation of America 功能描述:Micro Mist Separator, 6000 L/min(ANR), 1-in NPT Port, N.O. Auto Drain, 99.9% Effic.
AMD-750 制造商:未知廠家 制造商全稱:未知廠家 功能描述:AMD-750? Chipset Overview
AMD-751 制造商:未知廠家 制造商全稱:未知廠家 功能描述:AMD-751 - AMD-751 System Controller Revision Guide