算术运算指令及其应用.pptx
西京学院电气工程教研室张晓娟;目录;PART01;;;加法指令使用说明:
(1)加法运算指令将影响特殊存储器SM中的SM1.0(零)、SM1.1(溢出)、SM1.2(负数)。
(2)执行加法运算时,源操作数和目标操作数的数值都不能超过其运算范围,整数加法的运算范围为-32768~32767;双整数的运算范围为-2147483648~2147483647。
若运算结果超出允许的范围,则溢出标志位SM1.1置1。;加法指令的程序举例:;;(c)运算结果溢出;;减法指令使用说明如下。
(1)减法运算指令将影响特殊存储器SM中的SM1.0(零)、SM1.1(溢出)、SM1.2(负数)。
(2)执行减法运算时,源操作数和目标操作数的数值都不能超过其运算范围,整数减法的运算范围为-32768~32767;双整数的运算范围为-2147483648~2147483647。
若运算结果超出允许的范围,则溢出标志位SM1.1置1。;(a)程序(b)状态图表;;乘法指令使用说明如下。
(1)整数乘法指令MUL_I、双整数乘法指令MUL_DI以及实数乘法指令MUL_R的源操作数IN1和IN2以及目标操作数OUT的数据类型不变。产生双整数的整数乘法指令MUL的源操作数和目标操作数的数据类型不同,它是两个16位整数相乘,产生一个32位的结果。
(2)乘法指令将影响特殊存储器SM1.0(零)、SM1.1(溢出)、SM1.2(负数)。若在乘法运算中溢出标志位SM1.1为1,则运算结果不写到输出,且其他状态位均清零。
(3)整数数据作乘2运算,其二进制数据左移1位;作乘4运算,左移2位;作乘8运算,左移3位。;;;除法指令使用说明:
(1)DIV_I、DIV_DI以及DIV_R的源操作数IN1和IN2,以及目标操作数OUT的数据类型不变。带余数的整数除法指令DIV的源操作数和目标操作数的数据类型不同,它是两个16位整数相除,产生一个32位的结果,该结果中的最高有效字是余数,最低有效字是商。
(2)除法指令将影响特殊存储器SM1.0(零)、SM1.1(溢出)、SM1.2(负数)、SM1.3(除数为零)。
(3)整数数据作除以2运算,其二进制数据右移1位;作除以4运算,右左移2位;作除以8运算,右移3位;……;除法指令的程序举例:;PART02;;递增/递减指令使用说明如下???
(1)字节递增/递减指令是无符号循环数。最大值255加1结果为0,即执行加1指令后,数据分别为0→1→2…→254→255→0;最小值0减1结果为255,即执行减1指令后,数据分别为0→255→254…→1→0。
(2)字递增/递减指令是有符号循环数。+32767加1结果为-32768,-32768减1结果为+32767。
(3)双字递增/递减指令是有符号循环数。2147483647加1结果为-2147483648,-2147483648减1结果为2147483647。
(4)递增/递减指令的运算结果影响特殊存储器SM1.0(零)、SM1.1(溢出)、SM1.2(负数)标志位。;;PART03;1.控制要求;Q1.7;;;谢谢大家