精华内容
下载资源
问答
  • ITERATE、LEAVE、GOTO和RETURN

    千次阅读 2010-02-01 15:26:00
    RETURN的作用和大多数程序设计语言一样,用来将结果返回给它的调用者。另外,SQL PL中还支持GOTO语句,通常不建议使用GOTO,因为它会使程序混乱。 一:语法 ITERATE label LEAVE label GOTO label

    ----start

      学习过任何一门编程语言的人对continue和break都不陌生。在SQL PL中,ITERATE和LEAVE实现相同的作用。RETURN的作用和大多数程序设计语言一样,用来将结果返回给它的调用者。另外,SQL PL中还支持GOTO语句,通常不建议使用GOTO,因为它会使程序混乱。

    一:语法

    二:示例

    三:调用

     

     

    ----更多参见:SQL PL 精萃

    ----声明:转载请注明出处。

    ----last updated on 2010.2.4

    ----written by ShangBo on 2010.2.1

    ----end

     

    展开全文
  • 汇编的Enter, leave, return 指令

    千次阅读 2012-03-21 13:08:02
    leave  ENTER 配对使用   ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 一段常见的代码格式如下: .text:00401450 push ebp .text:00401451 mov ebp, esp .text:00401453 sub esp...

    enter的用法:

    enter   8, 3                   ;就是申请8个存储单元(在堆栈中),特权为3

    http://www.cnblogs.com/keepfocus/archive/2011/09/15/2176925.html
    1. enter等价于:
    push ebp
    mov ebp,  esp
    在函数的入口时常用。

    ENTER   n   申请局部变量,相当于
    push    bp
    mov     bp,   sp
    sub     sp,   n

    2. leave等价于:
    mov esp,  ebp
    pop ebp

     leave   与   ENTER   配对使用

     

    ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    一段常见的代码格式如下:

    .text:00401450 push    ebp
    .text:00401451 mov     ebp, esp
    .text:00401453 sub     esp, 18h
    ....
    .text:0040146E call    sub_401B10
    .text:00401473 mov     eax, 1
    .text:00401478 mov    esp,   ebp
                             pop    ebp
                             xor    eax,  eax
    .text:00401479 retn    0Ch
    ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    用enter和leave替代了以后,就可以变成这个样子。
    .text:00401450 enter
    .text:00401453 sub     esp, 18h
    ...
    .text:0040146E call    sub_401B10
    .text:00401473 mov     eax, 1
    .text:00401478 leave
                             xor eax, eax
    .text:00401479 retn    0Ch

     

     

    return   语句有以下几种
            ret               默认为NEAR,在PROC中由PROC属性决定
            retn             强制NEAR
            retf             强制FAR
            ret     n         默认为NEAR,在PROC中由PROC属性决定,同时SP   +=   n
            retn   n         强制NEAR,同时SP   +=   n
            retf   n         强制   FAR,同时SP   +=   n
            iret             中断程序返回
      

    展开全文
  • ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...) CHECK.(SAP官方推荐只在循环中使用) 1)CHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LOOP)或处理程序(Processing ...
    ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)
    CHECK.(SAP官方推荐只在循环中使用)
    1)CHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LOOP)或处理程序(Processing Block)。
    2)如果CHECK出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执行下一次循环操作,其作用类似于Continue  
    3)如果CHECK出现在循环以外,则发生作用时,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT。

    EXIT.
    1) EXIT如果出现在循环中,退出的是整个循环操作,.程序会从循环结束处开始继续执行。
    2)EXIT如果出现在循环之外,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,其作用与RETURN类似。

    RETURN.
    RETURN用来退出当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不仅仅是退出循环。
    虽然ABAP中EXIT 和RETURN都可以用来实现退出当前执行的语句块(PROCESSING BLOCK),但SAP的帮助文件建议只在循环中使用EXIT ,其他情况下要退出当前执行进程,使用RETURN

    LEAVE PROGRAM.

    LEAVE PROGRAM.  直接退出主程序。




    文章转载自:http://blog.sina.com.cn/s/blog_66110f620101bmkq.html

    展开全文
  •     程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...) 这里总结

    http://wenku.baidu.com/link?url=JAb3jmldBvC77ZISbwI-UMXFkUPrL-8QarC3_8LsjcfcC4he-12WWinLv22DlFQ8TNZ2oUoTHvBJ2JHiDZkSyMti5kAX5-4btcu6a4LPGUG

     

     

    程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)

    这里总结一下几个常用的退出操作:

     
    CHECK.(SAP官方推荐只在循环中使用)

    1)

    CHECK

    后面要跟一个表达式,当表达式值为假(false)时,

    CHECK

    发生作用,退出循环(LOOP)或处理程序(Processing Block)。

    2)如果CHECK出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执
    行下一次循环操作,其作用类似于Continue (Java 或C++中continue也是如此)

    3)如果CHECK出现在循环以外,则发生作用时,退出的是当前执行的程序块 (processing block)
    ,例如一个FORM,METHOD,或EVENT。

    EXIT. 
    1)

    EXIT如果出现在循环中,退出的是整个循环操作,.程序会从循环结束处开始继续执行,
    其作用相当于Java与C++中的break。

    2)

    EXIT如果出现在循环之外,退出的是当前执行的程序块(processing block),
    例如一个FORM,METHOD,或EVENT,其作用与RETURN类似。

    RETURN.

    RETURN用来退出当前执行的程序块(processing block),

    例如一FORM,METHOD,或EVENT,不管是否出现在循环LOOP)中,
    RETURN都会退出当前执行的程序块,而不仅仅是退出循环。

    虽然ABAP中EXIT 和RETURN都可以用来实现退出当前执行的语句块(processing

    block),但SAP的帮助文件建议只在循环中使用
    EXIT ,其他情况下要退出当前执行进程,使用RETURN 。

    LEAVE PROGRAM.

    LEAVEPROGRAM会直接退出主程序,类似C++中的exit。

     在事件中CHECK 在START-OF-SELECTION, GET, END-OF-SELECTION
    事件中,只是中断本事件内的后续代码的执行,不影响其他后续模块的处理

     

    START- CHECK SS <> WRITE / END-WRITE /

    结果:

     

    end of selection

     

    展开全文
  • 2)EXIT如果出现在循环之外,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,其作用与RETURN类似。 RETURN. RETURN用来退出当前执行的程序块(processing block),例如一个FORM...
  • (CHECK, EXIT, RETURNLEAVE PROGRAM...)  ABAP  程序中退出操作 (CHECK, EXIT, RETURNLEAVE PROGRAM...)    这里总结一下几个常用的退出操作:     CHECK.(SAP 官方推荐只在循环中使用)...
  • finally与return

    千次阅读 2010-11-21 10:22:00
    finally与return先后执行的次序
  • final与return的执行顺序问题

    千次阅读 2012-03-15 19:13:29
    1 finally与return  try-catch-finally是很常用的语法结构,用来控制可能发生异常时的程序流程,其中catch和finally至少要有一个。初学try语法时可能会要问一个问题:如果在try块中return,那么finally还会执行吗...
  • 汇编 leave popl

    千次阅读 2015-01-03 20:49:16
    最近在看c程序的编译出来的汇编文件,发现涉及到函数调用的地方,在返回时有的时候使用的leave,有的时候直接使用的是popl %ebp。 在AT&T汇编中,leave等效于以下汇编指令: movl %ebp, %esp popl %ebp 注意...
  • 在汇编指令层面有一个**%rsp寄存器总是保存着栈顶的内存地址**,以此抽象出一个栈指针指向栈顶数据,利用汇编指令pushpop完成数据的入栈出栈,pushpop负责将%rsp保存的内存地址中的数据移到目标地址,并对%rsp...
  • LEAVE LIST-PROCESSING. 这样子的话 报错会返回包选择屏幕,如果 LEAVE LIST-PROCESSING.下面还有代码 也不会继续往下执行。 如果只是直接报E类型的话 就不会再选择界面报错,而是在另一个界面报错,如...
  • ENTER和leave

    千次阅读 2008-04-11 23:32:00
    高级语言支持指令,开始于80186,主要是用来简化高级语言的某些特征,总共有3条指令:ENTER,LEAVE,BOUND a.ENTER,LEAVE,建立释放堆栈框架命令。在C语言中,栈不仅用来向函数传递入口参数,而且在函数内部的局部...
  • vue-钩子函数before-leave

    千次阅读 2020-08-20 12:54:45
    before-leave钩子,是el-tabs的一个一个属性。给该属性绑定一个函数,可以在触发tab切换时将执行绑定的函数。该钩子将在tab-clik之前执行。 返回 false 或者返回 Promise 且被 reject,则阻止切换。 <el-tabs tab...
  • AT&T汇编leave指令

    千次阅读 2014-05-07 15:13:02
    最近在看c程序的编译出来的汇编文件,发现涉及到函数调用的地方,在返回时有的时候使用的leave,有的时候直接使用的是popl %ebp。 在AT&T汇编中,leave等效于以下汇编指令: movl %ebp, %esp popl %ebp 为什么有...
  • AT&T汇编leave学习

    千次阅读 2014-03-07 11:24:01
    最近在看c程序的编译出来的汇编文件,发现涉及到函数调用的地方,在返回时有的时候使用的leave,有的时候直接使用的是popl %ebp。 在AT&T汇编中,leave等效于以下汇编指令: movl %ebp, %esp popl %ebp 为什么有的...
  • 深入理解c语言的return

    2016-07-15 10:18:37
    例(1)#include #include int fun() { int temp = 3;... return temp; } int main() { printf("%d\n",fun()); return 0; } 运行结果如下: [root@localhost ~]# ./a.out 3 反汇编结果如下: (gdb)
  • 首先无语。在网上gg了一两天,发现都是copy来copy去的资料。看了半天都看不明白。自己去sap Library看!五分钟就看明白了。毛病吗?!另外说,SAP workbench本身自带的help怎么也解释地云里雾里。... LEAVE
  • C++不常用关键字(__leave)

    千次阅读 2017-04-11 14:23:51
    C++不常用关键字(__leave) 总结__finally块被执行的流程时,无外乎三种情况。第一种就是顺序执行到__finally块区域内的代码,这种情况很简单,容易理解;第二种就是goto语句或return语句引发的程序控制流离开当前_...
  • 通过分析IL流程和画IL流程图 来分析try finally 中真正的return的返回值
  • mysql 的存储过程是不能使用 return 语句的,只有存储函数才有此功能。... 使用功能稍次一些的 leave 关键字吧,此关键字可以模仿 return 的行为。  举一个例子吧: SET FOREIGN_KEY_CHECKS=0; -
  • 简单的hello world之前已分析过,这次分析return ,问题来源于points on c。 知道c函数中的返回值是通过eax寄存器返回的。对应的c就是 return a,但是,如果c代码就是return呢 实验一下gff@ubuntu:~/cplusplus/...
  • 大家都知道,mysql 的存储过程是不能使用 return 语句的,只有存储函数才有此功能。... 使用功能稍次一些的 leave 关键字吧,此关键字可以模仿 return 的行为。  举一个例子吧:   SET FOREIGN_KEY_
  • mysql 的存储过程是不能使用 return 语句的,只有存储函数才有此功能。... 使用功能稍次一些的 leave 关键字吧,此关键字可以模仿 return 的行为。  举一个例子吧:   SET FOREIGN_KEY_CHECKS
  • seedlab:return-to-libc

    千次阅读 2016-06-20 21:27:56
    声明:该教程是根据Seed Lab: return-to-libc的实验要求所写的,该教程只是演示了一下return-to-libc的一些基本的攻击原理,由于关了编译器及系统的一些保护措施,所以并不能在实际的情况下实现攻击(′▽`〃)一:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,003
精华内容 32,401
关键字:

leavereturn与