汇编 里的near 和far有啥用啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 里的near 和far有啥用啊?相关的知识,希望对你有一定的参考价值。

如果用户的子程序和主程序在同一个代码段,则使用near,调用发生后,主程序堆栈中只压入ip值。

如果用户的子程序和主程序不在一个代码段,则使用far,调用发生后,主程序堆栈中将压入cs、ip值。

举例:

call 一个near过程,只把偏移地址压入堆栈,过程返回时用retn返回

call一个far过程,把偏移地址和段地址入栈,过程返回时用retf返回

在过程中的ret指令根据near和far的不同,分别编译成retn和 retf

retn和retf的机器码是不同的,你也可以不定义过程,直接用retn和retf

扩展资料:

汇编语言的其他指令:

传送指令

包括通用数据传送指令MOV、条件传送指令CMOVcc、堆栈操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或段描述符选择子传送指令LEA/LDS/LES/LFS/LGS/LSS等。

逻辑运算

这部分指令用于执行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS、逻辑运算指令NOT/AND/OR/XOR/TEST等。

参考资料来源:百度百科-汇编语言 (面向机器的程序设计语言

参考技术A 如果你的子程序和主程序在同一个代码段,则使用near,调用发生后,主程序堆栈中只压入ip值;
如果你的子程序和主程序不在一个代码段,则使用far,调用发生后,主程序堆栈中将压入cs、ip值;本回答被提问者采纳

SQL中Unique约束有啥用啊?

参考技术A

作用为:唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。

创建唯一约束可确保在不参与主键的特定列中不输入重复值。当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:

1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。

2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有一行包含空值。

扩展资料:

SQL中其他约束有:

1、主键约束:

主键列的数据类型不限,但此列必须是唯一并且非空。如该表中已有主键为1000的行,则不能再添加主键为1000。人工或程序不好控制的时候,也可以设置主键列为自动增长列。

2、参考约束:

参考约束是一个规则,可由SQL和XQuery 编译器使用,但数据库管理器不会强制执行它。

查询编译器包括一个重写查询阶段,它将SQL和XQuery语句变换为可能是优化的格式并改进所需数据的访问路径。该约束的目的不是由数据库管理器对数据执行附加验证,而是为了提高查询性能。

3、用户自定义完整性约束:

用户自定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。

例如某个属性必须取唯一值,某个非主属性也不能取空值,某个属性的取值范围在0-100之间等。

参考资料来源:百度百科-唯一约束

参考资料来源:百度百科-主键约束

参考资料来源:百度百科-SQL数据库

以上是关于汇编 里的near 和far有啥用啊?的主要内容,如果未能解决你的问题,请参考以下文章

.byte 汇编指令在 gnu 汇编中有啥用?

汇编--子程序结构

请问懂汇编的人:rsp寄存器有啥用

汇编语言中LABEL伪指令的功能?

小白求教,汇编语言的PTR运算符

SQL中Unique约束有啥用啊?