亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? s03_07.htm

?? Programmer s Reference Manual is an improtant book on Intel processor architecture and programming.
?? HTM
字號:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>80386 Programmer's Reference Manual -- Section 3.7</TITLE></HEAD><BODY><B>up:</B> <A HREF="c03.htm">Chapter 3 -- Applications Instruction Set</A><BR><B>prev:</B> <A HREF="s03_06.htm">3.6  String and Character Translation Instructions</A><BR><B>next:</B> <A HREF="s03_08.htm">3.8  Flag Control Instructions</A><P><HR><P><H1>3.7  Instructions for Block-Structured Languages</H1>The instructions in this section provide machine-language support forfunctions normally found in high-level languages. These instructions include<A HREF="ENTER.htm">ENTER</A> and <A HREF="LEAVE.htm">LEAVE</A>, which simplify the programming of procedures.<P><A HREF="ENTER.htm">ENTER</A> (Enter Procedure) creates a stack frame that may be used to implementthe scope rules of block-structured high-level languages. A <A HREF="LEAVE.htm">LEAVE</A>instruction at the end of a procedure complements an <A HREF="ENTER.htm">ENTER</A> at the beginningof the procedure to simplify stack management and to control access tovariables for nested procedures.<P>The <A HREF="ENTER.htm">ENTER</A> instruction includes two parameters. The first parameterspecifies the number of bytes of dynamic storage to be allocated on thestack for the routine being entered. The second parameter corresponds to thelexical nesting level (0-31) of the routine. (Note that the lexical levelhas no relationship to either the protection privilege levels or to the I/Oprivilege level.)<P>The specified lexical level determines how many sets of stack framepointers the CPU copies into the new stack frame from the preceding frame.This list of stack frame pointers is sometimes called the display. The firstword of the display is a pointer to the last stack frame. This pointerenables a <A HREF="LEAVE.htm">LEAVE</A> instruction to reverse the action of the previous <A HREF="ENTER.htm">ENTER</A>instruction by effectively discarding the last stack frame.Example:<PRE><A HREF="ENTER.htm">ENTER</A> 2048,3</PRE>Allocates 2048 bytes of dynamic storage on the stack and sets up pointersto two previous stack frames in the stack frame that <A HREF="ENTER.htm">ENTER</A> creates forthis procedure.After <A HREF="ENTER.htm">ENTER</A> creates the new display for a procedure, it allocates thedynamic storage space for that procedure by decrementing ESP by the numberof bytes specified in the first parameter. This new value of ESP serves as astarting point for all <A HREF="PUSH.htm">PUSH</A> and <A HREF="POP.htm">POP</A> operations within that procedure.<P>To enable a procedure to address its display, <A HREF="ENTER.htm">ENTER</A> leaves EBP pointing tothe beginning of the new stack frame. Data manipulation instructions thatspecify EBP as a base register implicitly address locations within the stacksegment instead of the data segment.<P>The <A HREF="ENTER.htm">ENTER</A> instruction can be used in two ways: nested and non-nested. Ifthe lexical level is 0, the non-nested form is used. Since the secondoperand is 0, <A HREF="ENTER.htm">ENTER</A> pushes EBP, copies ESP to EBP and then subtracts thefirst operand from ESP. The nested form of <A HREF="ENTER.htm">ENTER</A> occurs when the secondparameter (lexical level) is not 0.<P><A HREF="#fig3-16">Figure 3-16</A>  gives the formal definition of <A HREF="ENTER.htm">ENTER</A>.<P>The main procedure (with other procedures nested within) operates at thehighest lexical level, level 1. The first procedure it calls operates at thenext deeper lexical level, level 2. A level 2 procedure can access thevariables of the main program which are at fixed locations specified by thecompiler. In the case of level 1, <A HREF="ENTER.htm">ENTER</A> allocates only the requesteddynamic storage on the stack because there is no previous display to copy.<P>A program operating at a higher lexical level calling a program at a lowerlexical level requires that the called procedure should have access to thevariables of the calling program. <A HREF="ENTER.htm">ENTER</A> provides this access through adisplay that provides addressability to the calling program's stack frame.<P>A procedure calling another procedure at the same lexical level impliesthat they are parallel procedures and that the called procedure should nothave access to the variables of the calling procedure. In this case, <A HREF="ENTER.htm">ENTER</A>copies only that portion of the display from the calling procedure whichrefers to previously nested procedures operating at higher lexical levels.The new stack frame does not include the pointer for addressing the callingprocedure's stack frame.<P><A HREF="ENTER.htm">ENTER</A> treats a reentrant procedure as a procedure calling another procedureat the same lexical level. In this case, each succeeding iteration of thereentrant procedure can address only its own variables and the variables ofthe calling procedures at higher lexical levels. A reentrant procedure canalways address its own variables; it does not require pointers to the stackframes of previous iterations.<P>By copying only the stack frame pointers of procedures at higher lexicallevels, <A HREF="ENTER.htm">ENTER</A> makes sure that procedures access only those variables ofhigher lexical levels, not those at parallel lexical levels (see <A HREF="#fig3-17">Figure 3-17</A>  ).<A HREF="#fig3-18">Figures 3-18</A>  through 3-21 demonstrate the actions of the <A HREF="ENTER.htm">ENTER</A>instruction if the modules shown in <A HREF="#fig3-17">Figure 3-17</A>  were to call one another inalphabetic order.<P>Block-structured high-level languages can use the lexical levels defined by<A HREF="ENTER.htm">ENTER</A> to control access to the variables of previously nested procedures.Referring to <A HREF="#fig3-17">Figure 3-17</A>  for example, if PROCEDURE A calls PROCEDURE Bwhich, in turn, calls PROCEDURE C, then PROCEDURE C will have access to thevariables of MAIN and PROCEDURE A, but not PROCEDURE B because they operateat the same lexical level. Following is the complete definition of access tovariables for <A HREF="#fig3-17">Figure 3-17</A>  .<OL><LI> MAIN PROGRAM has variables at fixed locations.<LI> PROCEDURE A can access only the fixed variables of MAIN.<LI> PROCEDURE B can access only the variables of PROCEDURE A and MAIN.PROCEDURE B cannot access the variables of PROCEDURE C or PROCEDURE D.<LI> PROCEDURE C can access only the variables of PROCEDURE A and MAIN.PROCEDURE C cannot access the variables of PROCEDURE B or PROCEDURE D.<LI> PROCEDURE D can access the variables of PROCEDURE C, PROCEDURE A, andMAIN. PROCEDURE D cannot access the variables of PROCEDURE B.</OL><A HREF="ENTER.htm">ENTER</A> at the beginning of the MAIN PROGRAM creates dynamic storage spacefor MAIN but copies no pointers. The first and only word in the displaypoints to itself because there is no previous value for <A HREF="LEAVE.htm">LEAVE</A> to return toEBP. See <A HREF="#fig3-18">Figure 3-18</A>  .<P>After MAIN calls PROCEDURE A, <A HREF="ENTER.htm">ENTER</A> creates a new display for PROCEDURE Awith the first word pointing to the previous value of EBP (BPM for <A HREF="LEAVE.htm">LEAVE</A> toreturn to the MAIN stack frame) and the second word pointing to the currentvalue of EBP. Procedure A can access variables in MAIN since MAIN is atlevel 1. Therefore the base for the dynamic storage for MAIN is at [EBP-2].All dynamic variables for MAIN are at a fixed offset from this value. See<A HREF="#fig3-19">Figure 3-19</A>  .<P>After PROCEDURE A calls PROCEDURE B, <A HREF="ENTER.htm">ENTER</A> creates a new display forPROCEDURE B with the first word pointing to the previous value of EBP, thesecond word pointing to the value of EBP for MAIN, and the third wordpointing to the value of EBP for A and the last word pointing to the currentEBP. B can access variables in A and MAIN by fetching from the display thebase addresses of the respective dynamic storage areas. See <A HREF="#fig3-20">Figure 3-20</A>  .After PROCEDURE B calls PROCEDURE C, <A HREF="ENTER.htm">ENTER</A> creates a new display forPROCEDURE C with the first word pointing to the previous value of EBP, thesecond word pointing to the value of EBP for MAIN, and the third wordpointing to the EBP value for A and the third word pointing to the currentvalue of EBP. Because PROCEDURE B and PROCEDURE C have the same lexicallevel, PROCEDURE C is not allowed access to variables in B and thereforedoes not receive a pointer to the beginning of PROCEDURE B's stack frame.See <A HREF="#fig3-21">Figure 3-21</A>  .<P><A HREF="LEAVE.htm">LEAVE</A> (Leave Procedure) reverses the action of the previous <A HREF="ENTER.htm">ENTER</A>instruction. The <A HREF="LEAVE.htm">LEAVE</A> instruction does not include any operands. <A HREF="LEAVE.htm">LEAVE</A>copies EBP to ESP to release all stack space allocated to the procedure bythe most recent <A HREF="ENTER.htm">ENTER</A> instruction. Then <A HREF="LEAVE.htm">LEAVE</A> pops the old value of EBP fromthe stack. A subsequent <A HREF="RET.htm">RET</A> instruction can then remove any arguments thatwere pushed on the stack by the calling program for use by the calledprocedure.<P><A NAME="fig3-16"><IMG align=center SRC="fig3-16.gif" border=0><P><HR><P><A NAME="fig3-17"><IMG align=center SRC="fig3-17.gif" border=0><P><HR><P><A NAME="fig3-18"><IMG align=center SRC="fig3-18.gif" border=0><P><HR><P><A NAME="fig3-19"><IMG align=center SRC="fig3-19.gif" border=0><P><HR><P><A NAME="fig3-20"><IMG align=center SRC="fig3-20.gif" border=0><P><HR><P><A NAME="fig3-21"><IMG align=center SRC="fig3-21.gif" border=0><P><HR><P><B>up:</B> <A HREF="c03.htm">Chapter 3 -- Applications Instruction Set</A><BR><B>prev:</B> <A HREF="s03_06.htm">3.6  String and Character Translation Instructions</A><BR><B>next:</B> <A HREF="s03_08.htm">3.8  Flag Control Instructions</A></BODY>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线网站| 免费欧美日韩国产三级电影| 日韩一区二区免费电影| 在线观看免费亚洲| 色综合天天综合网国产成人综合天 | 中文字幕免费不卡在线| 久久麻豆一区二区| 久久久影视传媒| 国产欧美综合在线观看第十页| 久久精品视频免费| 中文字幕亚洲区| 亚洲欧美日韩中文播放| 亚洲一区二区三区美女| 日本不卡视频在线| 国产在线视频不卡二| 成人看片黄a免费看在线| youjizz国产精品| 日本精品裸体写真集在线观看| 色噜噜狠狠成人中文综合| 欧美日韩综合色| 欧美tickling挠脚心丨vk| 久久久久久久综合色一本| 国产欧美日本一区二区三区| 国产精品国产a| 亚洲高清久久久| 精品亚洲国内自在自线福利| 国产传媒久久文化传媒| 欧美亚洲国产一区二区三区va| 88在线观看91蜜桃国自产| 精品久久久久一区| 亚洲美女区一区| 久久电影网电视剧免费观看| 99精品久久久久久| 日韩一区二区高清| 国产精品福利一区| 免费成人美女在线观看| 成人av集中营| 日韩欧美在线一区二区三区| 国产精品色一区二区三区| 亚洲成人免费电影| 国产不卡在线播放| 欧美美女黄视频| 国产精品嫩草99a| 免费成人在线播放| 欧美手机在线视频| 国产精品成人网| 国产综合色视频| 6080日韩午夜伦伦午夜伦| 中文字幕一区二区三区蜜月 | 日本一区免费视频| 日韩电影在线一区二区| 91麻豆视频网站| 久久精品视频在线免费观看| 午夜激情综合网| 色综合天天天天做夜夜夜夜做| 日韩欧美国产一区二区在线播放| 亚洲精品综合在线| caoporen国产精品视频| 国产日韩欧美精品一区| 日韩黄色免费电影| 91免费看`日韩一区二区| 久久精品这里都是精品| 免费av网站大全久久| 欧美乱熟臀69xxxxxx| 一区二区三区资源| 91麻豆产精品久久久久久| 国产欧美日本一区二区三区| 国模无码大尺度一区二区三区| 日韩一二在线观看| 麻豆精品一区二区综合av| 欧美丰满美乳xxx高潮www| 亚洲国产精品一区二区久久| 91成人在线免费观看| 综合激情成人伊人| 91日韩在线专区| 亚洲欧美另类久久久精品2019| 成人av动漫网站| 成人欧美一区二区三区1314 | 亚洲六月丁香色婷婷综合久久| 成人97人人超碰人人99| 中文字幕精品三区| 不卡一区二区三区四区| 亚洲欧美日本韩国| 欧美午夜电影网| 日韩影院在线观看| 久久综合精品国产一区二区三区| 极品尤物av久久免费看| 久久亚洲一级片| 成人短视频下载| 一区二区三区不卡视频在线观看| 日本国产一区二区| 蜜臀精品久久久久久蜜臀| 精品国产三级a在线观看| 国产91色综合久久免费分享| 中文字幕亚洲精品在线观看| 欧美性色黄大片手机版| 免费视频一区二区| 国产亚洲婷婷免费| 91黄色在线观看| 毛片av中文字幕一区二区| 久久久777精品电影网影网| aaa亚洲精品| 日本午夜精品一区二区三区电影| 欧美va在线播放| 99re视频这里只有精品| 天天av天天翘天天综合网 | 中文字幕免费不卡| 欧美日韩国产不卡| 国产乱理伦片在线观看夜一区 | 欧美日韩综合一区| 国内成+人亚洲+欧美+综合在线| 亚洲视频在线一区二区| 7777精品伊人久久久大香线蕉完整版 | 色婷婷综合视频在线观看| 久久福利视频一区二区| 亚洲人成精品久久久久| 精品福利二区三区| 91久久香蕉国产日韩欧美9色| 九一久久久久久| 一区二区三区免费看视频| 26uuu色噜噜精品一区二区| 91黄色激情网站| 丁香激情综合五月| 秋霞午夜av一区二区三区| 一区二区三区在线视频观看 | 日本伊人色综合网| 樱花影视一区二区| 国产日韩精品一区二区三区在线| 欧美日韩国产免费一区二区| 91丨九色丨蝌蚪富婆spa| 国产一区三区三区| 久久精品国产亚洲a| 亚洲国产精品久久不卡毛片 | 日韩美一区二区三区| 欧美在线免费视屏| a在线播放不卡| 成人免费高清视频| 国产精品99久久久| 国产经典欧美精品| 国产一区二区网址| 精品夜夜嗨av一区二区三区| 青青青爽久久午夜综合久久午夜| 亚洲一区二区三区国产| 亚洲美女屁股眼交| 亚洲免费在线视频| 自拍偷拍国产精品| 中文字幕一区二区三区乱码在线 | 久久免费午夜影院| 精品国精品自拍自在线| 欧美一区二区高清| 日韩欧美区一区二| 欧美xxxx老人做受| 久久精品亚洲精品国产欧美| 久久综合狠狠综合久久综合88| 欧美变态tickle挠乳网站| 日韩精品一区二区在线观看| 日韩一级大片在线| 久久亚洲综合色| 一区二区中文视频| 亚洲免费观看视频| 亚洲一区二区欧美激情| 午夜影院久久久| 久久99久久久久| 国产乱子伦视频一区二区三区 | 国产日韩高清在线| 中文字幕一区二区三区视频| 亚洲欧美日韩一区| 亚洲国产成人高清精品| 精品一区二区三区久久久| 国产美女精品一区二区三区| 岛国一区二区在线观看| 色系网站成人免费| 91麻豆精品国产| 久久九九99视频| 一区二区三区四区av| 琪琪一区二区三区| 国产精品996| 在线看日本不卡| 日韩免费高清电影| 中文字幕一区二区在线播放| 午夜精品福利一区二区三区蜜桃| 韩国成人精品a∨在线观看| 9色porny自拍视频一区二区| 欧美日韩免费不卡视频一区二区三区 | 欧美老女人在线| 欧美国产精品一区二区| 亚洲综合清纯丝袜自拍| 精品一区二区免费视频| 色一区在线观看| 精品国产乱码久久久久久夜甘婷婷 | 久久亚洲综合av| 亚洲制服丝袜av| 国产精品一区二区不卡| 欧洲精品中文字幕| 欧美国产国产综合| 免费成人在线视频观看| 在线免费观看不卡av| 国产亚洲精品福利| 肉丝袜脚交视频一区二区| 不卡免费追剧大全电视剧网站|