自动控制--第3章3.3.2算术运算类指令
- 格式:ppt
- 大小:2.32 MB
- 文档页数:75
第一章1.微型计算机(Microcomputer):采用微处理器为核心构造的计算机2.微处理器(Microprocessor):微型机的运算和控制核心,称为中央处理单元(CPU:Central Processing Unit),将控制器和运算器集成在一片或几片芯片上构成3.微型计算机(MicroComputer)是指以微处理器为核心,配上存储器、输入/输出接口电路等所组成的计算机。
4.微型计算机系统(Micro Computer System)是指以微型计算机为中心,配以相应的外围设备、电源和辅助电路(统称硬件)以及指挥计算机工作的系统软件所构成的系统。
5.总线:计算机中各功能部件间传送信息的公共通道,是微型计算机的重要组成部分。
5.1地址总线AB:在对存储器或I/O端口进行访问时,通过地址总线传送由CPU提供的要访问存储单元或I/O端口的地址信息。
(单向总线)数据总线DB:从存储器取指令或读写操作数,对I/O端口进行读写操作时,指令码或数据信息通过数据总线传输。
(双向总线)控制总线:各种控制或状态信息通过控制总线传输6. 基数(Radix):一个数制所包含的数字符号的个数,被称为基数,记为r。
7.在二进制计数系统中,最高位表示符号位,“0”表示正数,“1”表示负数,其余表示数值。
7.1补码:反码末位(包括小数)加17.2由原码直接求补码:二进制数低位(包括小数)的第一个1右边保持不变(包含此1),左边依次求反8.BCD码用4位二进制数表示1位十进制数,只取十个状态,而且每四个二进制码之间是“逢十进一”。
(常使用8421码:即0000~1001)8.1“0~9”的ASCII码是30H~39H“A~Z”的ASCII码是41H~5AH“a~z”的ASCII码是61H~7AH第二章1.总线接口单元BIU:取指令时,BIU负责从内存的指定地址处取出指令,送到指令队列流中排队,执行指令中需要操作数时,也由BIU从内存的指定地址中取出,送给EU参加运算。
PLC算术运算和逻辑运算指令 - plc 算术运算和逻辑运算指令加法指令ADD、减法指令SUB乘法指令MUL、除法指令DIV加1指令INC、减1指令DEC字逻辑运算指令(FNC26~FNC29)1、加法指令ADD、减法指令SUBADD指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去。
每个数据的最高位作为符号位(0为正,1为负),运算是二进制代数运算。
减法指令SUB与ADD指令类似。
2、乘法指令MUL、除法指令DIVMUL指令是将两个源元件中的数据的乘积送到指定目标元件。
如果为16位数乘法,则乘积为32位,果为32位数乘法,则乘积为64位,如图5.25所示。
数据的最高位是符号位。
3、加1指令INC、减1指令DECINC、DEC指令操作数只有一个,且不影响零标志、借位标志和进位标志。
在16位运算中,32767再加1就变成了-32768。
32位运算时,2147483647再加1就变成-2147483648。
DEC指令与INC指令处理方法类似。
4、字逻辑运算指令(FNC26~FNC29字逻辑运算指令包括WAND(字逻辑与)、WOR(字逻辑或)、WXOR (字逻辑异或)和NEG(求补)指令。
使用方法如图所示。
案例一:假设有一汽车停车场,最大容量只能停车50辆,为了表示停车场是否有空位,试用plc来实现控制。
一、硬件的实现1、I/O分配表2、外部连线根据上述模块的学习,再依据图中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。
二、软件的编程案例二:某控制程序中要进行以下算式的运算:38X/255+2 式中“ X ”代表输入端口 K2X0 送入的二进制数,运算结果需送输出口K2Y0 ; X020 为起停开关。
一、硬件的实现1、I/O的分配2、硬件连线根据上述模块的学习,再依据图中的标示,同学们可以自己画出输入及输出端口的分配,在这不加深述。
二、软件的实现。
第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。
为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。
第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。
个别指只有操作码没有操作数。
由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。
8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。
指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。
段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。
生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。
确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。
立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。
这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。
段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。