汇编语言中的DEC是什么意思?

如题所述

DEC( DECrement ) 减1指令

格式:DEC OPR //Byte/Word

执行操作:(OPR)<-(OPR-1) //除CF标志位,其余标志位都受影响。

指令使操作数的内容减1,然后再送回该操作数。该操作数可以是寄存器操作数、存储器操作数。

例如:一、dec自减函数

1.dec(i,n);//i,n:integer;n为自减量

相当于i:=i-n;

2.dec(i);//i:integer;

相当于i:=i-1;

例如:二、Dec是递减函数

i:=100;

dec(i);

i就变成99了,

如果是dec(i,30)的话,

那么i=100-30=70

扩展资料:

数据传送指令

这部分指令包括通用数据传送指令MOV、条件传送指令CMOVcc、堆栈操作指令

PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或段描述符选择子传送指令LEA/LDS/LES/LFS/LGS/LSS等。

注意,CMOVcc不是一条具体的指令,而是一个指令簇,包括大量的指令,用于根据EFLAGS寄存器的某些位状态来决定是否执行指定的传送操作。

整数和逻辑运算指令

这部分指令用于执行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、

除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS、逻辑运算指令NOT/AND/OR/XOR/TEST等。

移位指令

这部分指令用于将寄存器或内存操作数移动指定的次数。包括逻辑左移指令SHL、逻辑右移指令SHR、算术左移指令SAL、算术右移指令SAR、循环左移指令ROL、循环右移指令ROR等。

位操作指令

这部分指令包括位测试指令BT、位测试并置位指令BTS、位测试并复位指令BTR、位测试并取反指令BTC、位向前扫描指令BSF、位向后扫描指令BSR等。

条件设置指令

这不是一条具体的指令,而是一个指令簇,包括大约30条指令,用于根据EFLAGS寄存器的某些位状态来设置一个8位的寄存器或者内存操作数。比如SETE/SETNE/SETGE等等。

控制转移指令

这部分包括无条件转移指令JMP、条件转移指令Jcc/JCXZ、循环指令LOOP/LOOPE/LOOPNE、过程调用指令CALL、子过程返回指令RET、中断指令INTn、INT3、INTO、IRET等。

注意,Jcc是一个指令簇,包含了很多指令,用于根据EFLAGS寄存器的某些位状态来决定是否转移;INT n是软中断指令,n可以是0到255之间的数,用于指示中断向量号。

串操作指令

这部分指令用于对数据串进行操作,包括串传送指令MOVS、串比较指令CMPS、串扫描指令SCANS、串加载指令LODS、串保存指令STOS,这些指令可以有选择地使用REP/REPE/REPZ/REPNE和REPNZ的前缀以连续操作。

输入输出指令

这部分指令用于同外围设备交换数据,包括端口输入指令IN/INS、端口输出指令OUT/OUTS。

高级语言辅助指令

这部分指令为高级语言的编译器提供方便,包括创建栈帧的指令ENTER和释放栈帧的指令LEAVE。

控制和特权指令

这部分包括无操作指令NOP、停机指令HLT、等待指令WAIT/MWAIT、换码指令ESC、总线封锁指令LOCK、内存范围检查指令BOUND、全局描述符表操作指令LGDT/SGDT、中断描述符表操作指令LIDT/SIDT、局部描述符表操作指令LLDT/SLDT、

描述符段界限值加载指令LSR、描述符访问权读取指令LAR、任务寄存器操作指令LTR/STR、请求特权级调整指令ARPL、任务切换标志清零指令CLTS、控制寄存器和调试寄存器数据传送指令MOV、

高速缓存控制指令INVD/WBINVD/INVLPG、型号相关寄存器读取和写入指令RDMSR/WRMSR、处理器信息获取指令CPUID、时间戳读取指令RDTSC等。

浮点和多媒体指令

这部分指令用于加速浮点数据的运算,以及用于加速多媒体数据处理的单指令多数据(SIMD及其扩展SSEx)指令。这部分指令数据非常庞大,无法一一列举,请自行参考INTEL手册。

虚拟机扩展指令

这部分指令包括INVEPT/INVVPID/VMCALL/VMCLEAR/VMLAUNCH/VMRESUME/VMPTRLD/VMPTRST/VMREAD/VMWRITE/VMXOFF/VMON等。

参考资料:

百度百科——汇编

百度百科——汇编语言(面向机器的程序设计语言)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-06
汇编语言中,DEC是减1指令,该指令使操作数的内容减1,然后再送回该操作数。该操作数可以是寄存器操作数、存储器操作数。
例如:
DEC AL;AL内容减1,然后再送AL
DEC AX;AX减内容1,然后再送AX
DEC CONT;CONT减内容1,然后再送CONT
第2个回答  2012-12-05
#00H 30H 30H,30H地址在什么单位PERFORM DEC?
-------
0000 0000减去一个是1111,是0FFH,即255。
十二月30H指令不影响标志,因此,赛扬,OV,AC和P都是相同的。
只的指令计算功能,比较指令影响标志的,INC / DEC指令不影响标志。
本回答被网友采纳
第3个回答  2012-12-06
#00H 30H 30H,30H地址在什么单位PERFORM DEC?
-------
0000 0000减去一个是1111,是0FFH,即255。
十二月30H指令不影响标志,因此,赛扬,OV,AC和P都是相同的。
只的指令计算功能,比较指令影响标志的,INC / DEC指令不影响标志。
第4个回答  2012-11-23
减1的意思,INC 与之对应,是加1.