SUB 百科内容来自于: 百度百科

汇编指令

SUB:不带借位的减法指令。
【指令格式】SUB OP1,OP2
【指令功能】(OP1)←(OP1)-(OP2),将OP1-OP2的值,保存在OP1中,如:
SUB [EAX],1 以EAX寄存器为内存地址,将该地址的值减1,类似C/C++中的 i--;
【指令介绍】
目的操作数减去源操作数,结果放在目的操作数中。源操作数原有内容不变,并根据运算结果置标志位SF,ZF,AF,PF,CF,OF
SUB指令可以进行字节或字的减法运算,源操作数和目的操作数的约定与ADD指令相同。
操作数的类型可以根据程序员的要求约定为带符号数或者无符号数。当无符号数的较小数减去较大数时,因不够减而产生借位,此时进位标志CF置1.当带符号数的较小数减去较大数时,将会得到负的结果,则符号位SF置1.带符号数相减,如果溢出,则OF置1.
【例】
  1. SUB BL,AL
设(BL)=23H,(AL)=78H,(BL)=23H-78H=ABH(1010101)
根据运算结果,各标志位为:CF=1,ZF=0,SF=1,OF=0,PF=0,AF=1
2. SUB SI,SI
寄存器自身相减,则结果为零,此时:
OF=0,SF=0,ZF=1,PF=1,CF=0

Sub语句

描述

声明 Sub 过程的名称、参数以及构成其主体的代码。

语法

[ Private| Public| Friend] [ Static] Sub name[ ( arglist )]
[ statements]
[ Exit Sub]
[ statements]
End Sub
Sub语句的语法包含下面部分:
部分
描述
Public
可选的。表示所有模块的所有其它过程都可访问这个 Sub过程。 如果在包含 Option Private的模块中使用,则这个过程在该工程外是不可使用的。
Private
可选的。表示只有在包含其声明的模块中的其它过程可以访问该 Sub过程。
Friend
可选的。只能在类模块中使用。表示该 Sub过程在整个工程中都是可见的,但对对象实例的控制者是不可见的。
Static
可选的。表示在调用之间保留 Sub过程的局部变量的值。 Static属性对在 Sub外声明的变量不会产生影响,即使过程中也使用了这些变量。
name
必需的。 Sub的名称;遵循标准的变量命名约定。
arglist
可选的。代表在调用时要传递给 Sub过程的参数的变量列表。多个变量则用逗号隔开。
statements
可选的。 Sub过程中所执行的任何语句组。

参数

其中的 arglist参数的语法以及语法各个部分如下:
[ Optional] [ ByVal| ByRef] [ ParamArray] varname[ ( )] [ As type] [ = defaultvalue]
部分
描述
Optional
可选的。表示参数不是必需的关键字。如果使用了该选项,则 arglist中的后续参数都必须是可选的,而且必须都使用 Optional关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional
ByVal
可选的。表示该参数按值传递。
ByRef
可选的。表示该参数按地址传递。 ByRef是 Visual Basic 的缺省选项。
ParamArray
可选的。只用于 arglist的最后一个参数,指明最后这个参数是一个 Variant元素的 Optional数组。使用 ParamArray关键字可以提供任意数目的参数。 ParamArray关键字不能与 ByValByRef,或 Optional一起使用。
varname
必需的。代表参数的变量的名称;遵循标准的变量命名约定。
type
可选的。传递给该过程的参数的数据类型,可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object 或 Variant。如果没有选择参数 Optional,则可以指定用户定义类型,或对象类型。
defaultvalue
可选的。任何常数或常数表达式。只对 Optional参数合法。如果类型为 Object,则显式的缺省值只能是 Nothing

说明

如果没有使用 Public、PrivateFriend显式指定, Sub过程按缺省情况就是公用的。如果没有使用 Static,则在调用之后不会保留局部变量的值。 Friend关键字只能在类模块中使用。不过 Friend过程可以被工程的任何模块中的过程访问。 Friend过程不会在其父类的类型库中出现,且 Friend过程不能被后期绑定。
小心 Sub过程可以是递归的;也就是说,该过程可以调用自己来完成某个特定的任务。不过,递归可能会导致堆栈上溢。通常 Static关键字和递归的 Sub过程不在一起使用。
所有的可执行代码都必须属于某个过程。不能在别的 Sub、FunctionProperty过程中定义 Sub过程。
Exit Sub语句使执行立即从一个 Sub过程中退出。程序接着从调用该 Sub过程的语句下一条语句执行。在 Sub过程的任何位置都可以有 Exit Sub语句。
Sub过程与 Function过程的相似之处是:它们都一个可以获取参数,执行一系列语句,以及改变其参数的值的独立过程。而与 Function过程不同的是:带返回值的 Sub过程不能用于表达式
可以使用过程名并后跟相应的参数列表来调用一个 Sub过程。请参阅 Call语句关于如何调用 Sub过程的详细的说明信息。
Sub过程中使用的变量分为两类:一类是在过程内显式定义的,另一类则不是。在过程内显式定义的变量(使用 Dim或等效方法)都是局部变量。对于使用了但又没有在过程中显式定义的变量,除非其在该过程外更高级别的位置有显示地定义,否则也是局部的。
小心过程可以使用没有在过程内显式定义的变量,但只要有任何在模块级别定义的名称与之同名,就会产生名称冲突。如果过程中使用的未定义的变量与别的过程,常数,或变量的名称相同,则认为过程使用的是模块级的名称。显式定义变量就可以避免这类冲突。可以使用 Option Explicit语句来强制显式定义变量。
注意不能使用 GoSub、GoToReturn来进入或退出 Sub过程。

部分描述

Public 表示 Sub 过程可被所有 Script 中的所有其他过程访问。
Private 表示 Sub 过程只可被声明该过程的 Script 中的其他过程访问。
Name Sub 的名称,遵循标准变量命名约定
Arglist 代表在调用时要传递给 Sub 过程的参数的变量列表。用逗号隔开多个变量。
Statements 在 Sub 过程主体内所执行的任何语句组。
arglist 参数包含下列语法和部分:[ByVal | ByRef] varname[( )]
部分 描述
ByVal 表示该参数按值传递。
ByRef 表示该参数按引用传递。
Varname 代表参数的变量名称,遵循标准变量命名约定

说明

如没有显式地指定使用 Public 或 Private,则 Sub 过程默认为公用,即它们对于 Script 中的所有其他过程都是可见的。Sub 过程中局部变量的值在调用过程中不被保留。
所有可执行代码必须包含于过程中。不能在另一个 Sub 或 Function 过程中定义一个 Sub 过程。
使用 Exit Sub 语句可以立即从 Sub 过程中退出。程序继续执行调用 Sub 过程的语句之后的语句。可以在 Sub 过程中任意位置出现任意个 Exit Sub 语句。
与 Function 过程相似之处是:Sub 过程是一个可以获取参数,执行一系列语句以及可改变其参数的值的独立过程。而与 Function 过程不同之处是:Function 过程可以返回值,而 Sub 过程不能用于表达式中。
可以使用过程名并跟随相应的参数列表来调用 Sub 过程。关于如何调用 Sub 过程的详细说明信息,请参阅 Call 语句。
小心 Sub 过程可以是递归的,即该过程可以调用自己来完成某个给定的任务。但是递归可能会导致堆栈溢出
在 Sub 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是局部变量。对于那些没有在过程中显式声明的变量也是局部的,除非在该过程外更高级别的位置显式地声明它们。
小心 过程可以使用没有在过程内显式声明的变量,但只要有任何 script 级定义的名称与之同名,就会产生名称冲突。如果过程中引用的未声明的变量与其他的过程、常数或变量的名称相同,则会认为过程引用的是Script 级的名称。显式声明变量可以避免这类冲突,使用 Option Explicit 语句可强制显式声明变量。

语言概念

Sub 过程
Sub 过程是包含在 Sub 语句和 End Sub 语句中的一系列 Visual Basic 语句。每次调用过程时都执行过程中的语句,从 Sub 语句后的第一个可执行语句开始,到遇到的第一个 End Sub、Exit Sub 或 Return 语句结束。
Sub 过程执行操作但并不返回值。它能够带参数,如呼叫代码传递给它的常数、变量或表达式
声明 Sub 过程的语法如下所示:
[accessibility] Sub subname[(argumentlist)]
' Statements of the Sub procedure go here.

HTML标签

在HTML语言中, <sub> 标签可定义下标文本。例如:要求显示:H20的2为下标记;,在html代码中则需要写成:H<sub>2</sub>0。
包含在 <sub> 标签和其结束标签 </sub> 中的内容将会以当前文本流中字符高度的一半来显示,但是与当前文本流中文字的字体和字号都是一样的。

End Sub

可访问性可以是 Public、Protected、Friend、Protected Friend 或 Private。
可以在模块、类和结构中定义 Sub 过程。默认情况下它们是 Public,这意味着可以从应用程序中的任意位置调用它们。

参数声明

声明过程的每个参数与声明变量的方法一样,都是指定参数名和数据类型。也可以指定传递机制,以及参数是否可选。
参数列表中每个参数的语法如下所示:
[Optional] [ByVal|ByRef] [ParamArray] argumentname As datatype
如果参数是可选的,则还必须在其声明中提供默认值,如下所示:
Optional [ByVal|ByRef] argumentname As datatype = defaultvalue

调用语法

可以使用独立的调用语句来显式调用 Sub 过程。不能在表达式中使用其名称来调用它。调用语句必须提供所有非可选参数的值,并且必须用括号将参数列表括起来。如果未提供任何参数,则也可以选择省略括号。Call关键字的使用也是可选的。
调用 Sub 过程的语法如下所示:
[Call] subname[(argumentlist)]
下面的 Sub 过程通知计算机操作员应用程序将要执行哪个任务,并且还显示一个时间戳应用程序不是在每个任务的开头重复此代码,而仅是从不同的位置调用 TellOperator。每次调用都会传递 Task 参数中的字符串以标识开始执行的任务。
Sub TellOperator(ByVal Task As String)
Dim Stamp As Date ' Stamp is local to TellOperator.
Stamp = TimeOfDay() ' Get current time for time stamp.
' Use MessageBox class of System.Windows.Forms namespace.
MessageBox.Show("Starting " & Task & " at " & CStr(Stamp))
End Sub
典型的 TellOperator 调用如下所示:
Call TellOperator("file update")

请参见

过程 | 事件处理过程 | Function 过程 | Property 过程 | 过程参数 | Sub 语句
调节声音菜单
SUB超重低音调整
FRD前后衰减调整
BAL左右平衡调整

GRE的Sub考试

Sub考试的全称是GRE-subject test,国内称为专项考试或者叫做专业GRE,其目的在于考查考生的专业知识综合能力和相关英语能力。我们通常所说的GRE是指GRE的General Test,而GRE专项考试,即 Subject test,测试内容为某一学科领域或专业领域内的知识和技能以及相关能力。
目前sub考试有以下8门课程:BiochemistryCell and Molecular Biology(生化), Literature in English(英语文学), Biology(生物), Mathematics(数学), Chemistry(化学), Physics(物理)Computer Science(计算机), Psychology(心理学)。
参加Sub考试主要因为三种情况:
第一,想申请的学校院系要求GRE Sub成绩;
第二,GPA不太好,想通过Sub成绩来弥补一下;
第三,跨专业申请。但请特别注意Sub考试是否和你申请的专业对口。
考试内容
考试时间是170分钟,各专业都一样。各个专业的题目数量不同,但都是单项选择题,每道题5个选项。
算分方法
参见Bulletin的说明。简言之,就是每答对1道题目加一分,答错了扣0.25分,空着不答不算分。也就是说答错了要倒扣分的。所有题目这样子算下来之后得到一个Raw Score,然后再去标准化一下就得到Scaled Score和Percentile,也就是最终送到手里的成绩。
考试时间和考试地点?
在中国大陆地区每年只有一次考试,一般在11月初,General考试后第二个或第三个礼拜六进行。其它地区的情况请参见ETS每年的bulletin上面的说明。
中国大陆地区的考点也可以在Bulletin上找到。相比General Test而言考点显得稀少一些。
sub-> submarine sandwich 潜水艇三明治
sub 有 副官;部下的意思,而在java中的subclass意为子类。

魔方术语

语法标注解释subtraction的缩写
SUB-X:意思就是少于的意思,在这就是“在X秒以下”之意
比如某高手说sub15秒,就是说,他的平均复原时间在15秒内,或者说,他大多数情况下成绩都在15秒内.
SUB不代表平均,平均使用"AVG"
一般练习时测12次,去掉最高和最低成绩,剩余10次取平均,而平均在15以下就是Sub15

名称缩写

省级优秀毕业生的缩写
省级优秀毕业生(shengjiyouxiubiyesheng)的拼音缩写sub。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定