CODE SEGMENT ASSUME CS:CODE ORG 100H START: JMP BEGIN X DQ 111111 DQ 0 ; 增加 这个是为了左移时有空间 Y DQ 11111 Z DW 8 DUP(0) BEGIN: PUSH CS POP DS PUSH CS POP ES MOV CX,64 @0: SHR WORD PTR Y+6,1 RCR WORD PTR Y+4,1 RCR WORD PTR Y+2,1 RCR WORD PTR Y,1 JNC @1 MOV AX,WORD PTR X ADD WORD PTR Z,AX MOV AX,WORD PTR X+2 ADC WORD PTR Z+2,AX MOV AX,WORD PTR X+4 ADC WORD PTR Z+4,AX MOV AX,WORD PTR X+6 ADC WORD PTR Z+6,AX MOV AX,WORD PTR X+8 ADC WORD PTR Z+8,AX MOV AX,WORD PTR X+10 ADC WORD PTR Z+10,AX MOV AX,WORD PTR X+12 ADC WORD PTR Z+12,AX MOV AX,WORD PTR X+14 ADC WORD PTR Z+14,AX @1: SHL WORD PTR X,1 RCL WORD PTR X+2,1 RCL WORD PTR X+4,1 RCL WORD PTR X+6,1 RCL WORD PTR X+8,1 RCL WORD PTR X+10,1 RCL WORD PTR X+12,1 RCL WORD PTR X+14,1 DEC CX CMP CX,0 JE @2 JMP @0 @2: MOV AH,4CH INT 21H
第一章一、什么是存储工作方式?答:存储工作方式是先编写程序,再由计算机将这些程序存储起来,然后就可以连续地、快速地执行程序,从而实现各种运算处理。 二、数字计算机的主要特点是什么?答:一是能在程序控制下自动连续地工作;二是运算速度快;三是运算精度高;四是具有很强的信息存储能力;五是通用性强,应用领域极其广泛。 三、衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标有:基本字长、数据通路宽度、运算速度、主存储器容量、外存容易、配置的外围设备及其性能、系统软件配置。第二章一、简要解释下列名词术语1.基数:P24指进位制中会产生进位的数值,即等于每个数位中允许的最大数码值加1,也就是各数位中允许选用的数码个数。2.位权:P24在进位制中每个数码所表示的数值等于该数码本身的值乘以一个与它所在数位有关的常数,这个常数称该位的位权,简称权。3.真值:P30用正负符号加绝对值这种形式表示的数值,称为真值。4.机器数:P30在计算机中使用的连同数符一起数码化了的数,称为机器数。5.原码:P30机器数的表示方法之一,是指一个机器数由符号位和有效数值两个部分组成,最高位为符号位以0为正、1为负表示,有效数值部分用二进制绝对值表示。6.补码:P31机器数的表示方法之一,是符号位也作为数值的一部分直接参与运算,同时又能“化减为加”7.反码:P33机器数的表示方法之一,正数的反码与原码相同,负数的反码表示为,符号位为1,尾数由原码尾数按位变反。8.定点数:P在计算机中,小数点位置固定不变的数,称为定点数。9.浮点数:P35由一个定点整数和一个定点小数组成,小数点的位置根据需要而浮动的数,称为浮点数。10.ASCII码:美国信息交换标准码,每个ASCII字符用七位编码,集中了128个常用字符,大致满足了各种编程语言、西文文字、常见控制命令等的需要。11.指令系统:P40产生各种控制信息的用机器代码表示的指令序列的集合,称为指令系统。它表征了计算机的基本功能,是软件和硬件的主要交界面。12.地址结构:指令中给出地址的个数及约定方式等有关地址信息,在指令中给出几个地址、给出哪些地址。13.隐地址:P41事先隐含约定 *** 作数在某个寄存器中或堆栈中,而指令中并不给出地址码,这种隐含约定的地址称为隐地址。使用隐地址是简化指令地址结构的基本途径。14.堆栈:P50是一种按“后进先出”存取顺序进行存取的存储结构。 二、将二进制数(10101001)2转换为二进制及BCD码。(10101001)2=(42 25)10=(1000001000100101)BCD 三、将八进制数(372)8转换为十进制及BCD码。(372)8=(3125)10=(110001001001010)BCD 四、将十进制数(13/128)转换为二进制。(13/128)10=(00001101)2 五、若X补=01010,则X原、真值等于什么。X原=真值=01010 第三章一、说明串行进位和并行进位方式的不同之处。答:串行进位:是指相加的进位逐级形成的,每一级的进位直接依赖于前一级的进位。称为串行进位(又称行波进位),串行进位的延迟时间较长。并行进位:是指同时形成各级进位信号的方法,称为并行进位,并行进位的运算速度较快,但增加硬件逻辑线路。 二、用变形补码计算机[X]补+[Y]补,并判断是否溢出,是何种溢出。A.[X]补=00110011、 [Y]补=00101101,[X]补+[Y]补=01100000,正溢出B.[X]补=11001101、 [Y]补=11010011,[X]补+[Y]补=10100000,负溢出 三、用变形补码计算机[X]补-[Y]补,并判断是否溢出,是何种溢出。A.[X]补=00110011、 [Y]补=00101101,[X]补+[Y]补=00000110,无溢出B.[X]补=11001101、 [Y]补=11010011,[X]补+[Y]补=11111010,无溢出 四、用无符号数一位乘法计算X×Y,写出运算过程(略) 五、用无符号数来恢复余数法求X÷Y,写出运算过程及结果(商和余数) 六、说明什么是组合逻辑控制器,微程序控制器,并解释有关的基本概念。答:按产生控制信号的方式不同控制器可分:组合逻辑控制器和微程序控制器。组合逻辑控制器是指产生控制信号即微命令的部件,是用组合逻辑线路来实现的,微程序控制器是将机器指令的 *** 作(从取指令到执行)分解为若干个更基本的微 *** 作序列,并将有磁的控制信息(微命令)以微码形式编成微指令,输入控制存储器中。 七、说明教材模型机中下列寄存器的作用:通用寄存器、暂存器、IR、PC、MAR、MDR。(1)通用寄存器:是一组可编程访问、具有多种功能的寄存器。指令系统为其分配编号,即寄存器地址。其本身在逻辑上只有接收信息、存储信息和发送信息的功能,但通过编程与运算部件的配合可实现多种功能。(2)暂存器:3个:C、D、Z,C用来暂存从主存储器读出的数据,D设置在ALU的输入端,用来存放一个 *** 作数,还可暂存从主存储器读出的数据,并设有左移和右移的功能。Z设置在ALU的输出端,用来存放运算结果。指令系统中没有为其分配编号,故不能编址访问。(3)指令寄存器IR:用来存放当前正在执行的一条指令。IR的输出是控制器产生控制信号的主要逻辑依据。(4)程序计数器PC:又称为指令计数器或指令指针IP。作用是提供指令的地址。具有加1计数功能,并可编程访问。地址寄存器MAR用来存放CPU访问主存或I/O接口的地址。MAR连接地址总线的输出门是三态门。数据寄存MDR用来存放CPU与主存或I/O接口之间传送的数据。 八、写出下列指令的读取与执行流程式。(1)MOV R0,R2FT0 PC—MARFT1 M—MDR—IR,PC+1—PCST0 R2—CET0 C—R0 (2)ADD R0,X(R1)FT0 PC—MARFT1 M—MDR—IR,PC+1—PCST0 PC—MARST1 M—MDR—D,PC+1—PCST2 D+R1—ZST3 Z—MARST4 M—MDR—DDT0 R0—DET0 C ADD D—EET1 Z—R0 (3)JMP(R0)FT0 PC—MARFT1 M—MDR—IR,PC+1—PCJP:ET0 R0—MARET1—MDR—PCNJP:ET0 PC第四章一、8086/8088CPU中有哪些寄存器,各有什么作用?答:见教材P116页。 二、8086/8088CPU中标志寄存器各标志位的含义。答:见教材P120页。 三、8086/8088CPU中,进行下列8位二进制数的运算后,标志寄存器中OF,ZF,SF,CF的值各是多少?a OF=0,ZF=1,SF=0,CF=1b OF=1,ZF=0,SF=1,CF=1 四、说明基地址(P129)与段基址(P116)的不同。答:基地址是指基址寄存器BX或基址指针BP的内容;段基址是指段基值左移四位后得到一个20位的物理地址。 五、说明下列指令中源 *** 作数、目的 *** 作数的寻址方式。指令目的 *** 作数源 *** 作数ADD AX,0A51HAX寄存器寻址0A51H立即数寻址MOV BL,DATA1BL寄存器寻址DATA1是存储器寻址方式中的直接寻址,用符号地址表示PUSH ES隐含指定堆栈,寄存器寻址ES寄存器寻址CLC无 *** 作数 六、指出下列指令语法是否有错,是什么错误。MOV AL,0F5H;对GMP AL,100H ;错,100H与AL不匹配。OR AH,AL;对DEC CX,1;错,1是多余是。 七、假设(AX)=0A5C6,(CX)=0F03H ,则下列指令执行后,(AX)=?,(CF)=?RCL AX,CL;(AX)=2E32H,(CF)=1HAND AH,CH;(AX)=0E32H,(CF)=1HRCR AX,CL;(AX)=0A1C6H,(CF)=0H 第五章一、设VAR1,VAR2是变量名,指出下列语句语法是否有错,是什么错。MOV AX,VAR1+VAR2MOV BL,AL SHR3ADD BYTE PTR[BX],1000答:MOV AX,VAR1+VAR2;源 *** 作数变量名之间不能用+运算。 MOV BL,AL SHR3;源 *** 作数AL不能使用运算符,另外逻辑右移指令SHR运算符之间只能是常数,不能是寄存器 *** 作数,该句的功能可以用两名来实现。 ADD BYTE PTR[BX],1000;PTR为属性运算符,是把地址表达式确定的存储单元临时设定为PTR左边的类型(BYTE,WORD,DWOR等),该题主要错在BYTE与1000不匹配。 二、下列指令执行后,(AL)=?如将SHR指令换成ROR或RCR,那么AL中的内容分别是多少。MOV AL,0FH;(AL)=0FHXOR AL,0FFH;(AL)=0F0HMOV CL,7;(CL)=7SHR AL,CL;(AL)=1H答:上述指令执行后,(AL)=1H;当ROR AL,CL;(AL)=0E1H当RCR AL,CL;(AL)=0C1H。 三、试用两条指令完成对寄存器AH和AL 分别加1,且AL中加1形成的进位加在AH的最低位,AH中加1形成的进位加在AL的最低位。答:ADD AX,101H RCL AX,1H 第六章一、在3级存储体系中,各层有什么作用,特点是什么?名称作用构成存取方式速度容量 主存储器用来存入需要执行的程序及需要处理的数据,能由CPU直接读出或写入。由半导体动态MOS存储器构成,采取随机存取方式,按字节存放或读取内容工作速度快有一定存储容量外存储器用来存放需要联机存放,但暂不执行的程序和数据,当需要时再由外存调入主存磁盘、磁带等磁表面存储器和光盘存储器构成。 按文件进行组织,采取顺序存取或直接存取速度较低存储容量大、高速缓冲存储器用于存放CPU在最近一小段时间内要使用的程序和数据。作为主存某些局部区域的内容副本。主要为了解决CPU与主存之间的速度匹配问题用高速半导体存储器构成,存取周期约为几至十几ns 采用随机存取方式,便于CPU直接访问工作速度快 存储容量小 二、主存的容量可以用哪些指标来描述?答:主存容量常用字节数或单元数位数两种方式来描述。字节数:若主存按字节编址,即每个存储单元有8位,则相应地用字节数表示存储容量的大小。单元数位数:若主存按字编址,即每个存储单元存放一个字,字长超过8位,则存储容量用单元数位数或字数位数来描述,即注明主存有多少单元,每个单元有多少位。 三、解释什么是随机存取、顺序存取、直接存取方式,各适用什么存储器?答:随机存取方式——即能按地址直接访问存储器中的任一单元,且访问所需的时间与单元的地址无关。适用于主存储器和高速缓存。顺序存取方式——文件或数据顺序地记录在外存储器(磁带),从开始顺序寻址,找到所需文件、数据块的位置,然后再读写进行。访问的时间与信息在磁中的位置。适用于外存储器。直接存取方式——直接指向存储器中某个较小的局部区域开始顺序寻址,访问的时间与信息所在位置有关。适用于外存储器。 四、什么是刷新?答:刷新是定期按原存信息向电容补充电荷。第七章一、什么是串行、并行接口?答:并行接口是指接口与系统总路线之间、接口与外设之间均按并行方式传送数据。串行接口是指接口与外设之间采取串行方式传送数据,接口与系统总路线之间仍按并行方式进行传送。 二、统总线和外总线在功能、信号组成上有哪些区别?名称功能信号组成系统总线也称为板级总线,用来连接计算机系统内各个大功能部件。按其功能可分:电源线、地址线、控制线、数据线等4组信号线外总线也称通讯总线,用来连接多个计算机系统,或连接计算机系统与外设。因外总线传输距离较远,为减少传输线的数量,不专门设置地址线,仅有数据线及少量的简单的控制信号线。 三、什么是程序中断方式,特点是什么?答:程序中断方式是指CPU在执行程序的过程中,若因出现某种随机事件而收到中断请求,遇暂时停止现行程序的执行,转去执行下一段中断服务程序,以处理该事件,并在处理完毕后自动恢复原程序的执行。特点:程序切换(程序转移)和随机性。程序切换即由当前正在执行的程序转到中断服务程序,处理完随机事件后再转回被中止的程序。随机必性即中断随机发生,无法预先安排,可从程序的任一位置进行切换,并且中断处理程序的功能也往往与被中止的程序无直接关联。 四、解释向量中断的概念。答:向量中断方式:将各中断服务程序的入口地址(中断向量)组织在中断向量表中。当CPU响应中断时,由硬件直接产生对应于中断源的向量地址,按该地址访问向量表,取得服务程序的入口,转入相应的中断服务程序。 其最大的优点是能快速地获得中断程序服务的入口地址,直接转入对应的中断服务程序。注:这里注意几个概念:P314中断向量:在向量中断方式中,常将中断服务程序入口地址和服务程序的状态字,称为中断向量。中断向量表:将各个中断服务程序的入中地址及其程序状态字集中存放在一张一维表格中,该表称为中断向量表,通常安排在主存的一段连续存储区中。向量地址:访问中断向量表的存储器地址称为向量地址,也称中断指针。五、什么是DMA方式,特点是什么?答:DMA方式:是指直接依靠硬件在主存和I/O设备之间传送数据,传送期间不需要CPU程序干预。特点是:一是具有随机性:以响应随机请求的方式实现主存与I/O设备之间的直接数据传送;二是用硬件实现传送,传送速度快、传送 *** 作简单,由于不用切换程序,不需要执行与程序切换有关的一系列 *** 作,传送一个数据通常只占一个总线周期的时间;三是具有更高的并行性。 第八章一、外部设备分几类,它们的主要功能是什么?答:见教材P334页。 二、点阵打印的基本原理是什么?答:见教材P343页。 三、显存的作用是什么?答:见教材P353页。 四、常见的磁记录方式有几种?答:见教材P365页。
id) //将McBSP0初始化为SPI
{
SPSA0=SPCR10_SUB;
SPSD0=0x00; //接收端复位RRST=0
SPSA0=SPCR20_SUB;
SPSD0=0x00; //发送端复位XRST=0
SPSA0=SPCR10_SUB;
SPSD0=0x1800; //CLKSTP=11
SPSA0=PCR0_SUB;
SPSD0=0x0A08; //CLKXM=1(主设备);CLKXP=0
SPSA0=RCR10_SUB;
SPSD0=0x00; //RWDLEN1=000,接收包长度为8
SPSA0=RCR20_SUB;
SPSD0=0x0001; //在BFSX信号上提供正确的建立时间
SPSA0=XCR10_SUB;
SPSD0=0x00; //XWDLEN1=000,发送包长度为8
SPSA0=XCR20_SUB;
SPSD0=0x0001; //在BFSX信号上提供正确的建立时间
SPSA0=SRGR10_SUB;
SPSD0=0x00FE; //为采样率时钟定义分频因子
SPSA0=SRGR20_SUB;
SPSD0=0x2000; //CLKSM=1,从CPU得到时钟;每个包传送时,激活BFSX信号
SPSA0=SPCR20_SUB;
SPSD0=0x0063; //发送端脱离复位XRST=1
SPSA0=SPCR10_SUB;
SPSD0|=0x0001; //接收端脱离复位RRST=1;采样率产生器脱离复位GRST=1
delay(256); //为使McBSP逻辑稳定,需等待两个采样率产生器时钟周期
}
二.HDn作为片选信号时DSP与MCP2510通信过程
21读程序
211 MCP2510读取过程
在读 *** 作开始时,CS引脚将被置为低电平。随后读指令和8 位地址码(A7 至 A0)将被依次送入MCP2510 。在接收到读指令和地址码之后, MCP2510 指定地址寄存器中的数据将被移出通过SO引脚进行发送。每一数据字节移出后,器件内部的地址指针将自动加一以指向下一地址。因此可以对下一个连续地址寄存器进行读 *** 作。通过该方法可以顺序读取任意个连续地址寄存器中的数据。通过拉高CS引脚电平可以结束读 *** 作。
编程时需注意问题:
1. SPI的读 *** 作是通过写 *** 作完成的。因此在DSP发送地址字节后,再发送一任意8位数据以产生接收时钟。
2. 在发送完任意8位数据后,DSP要有个延时,以等待写入DXR的数据从发送端移出,从而保证从2510输出的数据能够正确地被DSP接收。延时时间应大于采样率产生器输出的8个周期,最好长一些。
3. 由于SPI在发送数据的同时也在接收数据,所以在读取有效数据前(即在发送地址字节完毕后)要先清空接收缓冲器,否则可能会因为接收缓冲器溢出而无法接收有用的数据。可以通过读取3次(因为5402的McBSP有3个接收缓冲器)接收缓冲器DRR的值来实现清空缓冲器的 *** 作,读取之前要注意延时(等待地址字节发送完毕)。
212 示例程序
Uint16 ReadMCP2510(Uint16 Addr)
{
ChipSlctMCP2510(0); //打开片选
NOP;
NOP;
NOP;
//发送读指令
DXR10=READ_MCP2510;
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
//发送地址
DXR10=Addr;
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
delay(1000); //延时,等待地址字节从DX移出
//读取数据
Addr=DRR10; //读3次,清空缓冲器
Addr=DRR10;
Addr=DRR10;
DXR10=0; //发送任意数据,以便产生接收时钟
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
delay(1000); //延时,等待数据接收
Addr=DRR10; //第一次为无效数据
ChipSlctMCP2510(3);
return Addr;
}
22写程序
221 MCP2510写 *** 作
置CS引脚为低电平启动写 *** 作。 启动写指令后,地址码以及至少一个字节的数据被依次发送到MCP2510 。只要 CS 保持低电平,就可以对连续地址寄存器进行顺序写 *** 作。在SCK 引线上的上升沿,数据字节将从D0位开始依次被写入。如果CS 引脚在字节的8 位数据尚未发送完之前跳变到高电平,该字节的写 *** 作将被中止,而之前发送的字节已经写入。
编程时需注意问题:
1 2510如何区分指令、地址和数据?由于读写指令、地址字节和数据字节的值可能会一样,所以有必要通过一定的时序来将他们区分开来。经实验验证,2510应该是通过片选信号CS来区分这几个数据的,当CS从高变低后,第一个字节就是指令,哪怕上次没有正确的读写,只要将CS置1,然后再置0,就会重新开始一个指令的周期。
2 发送完数据字节后一定要有个延时来等待数据字节从DX引脚发送出去,之后才能将片选信号CS置1,否则无法正确写入数据。
222 示例程序
void WriteMCP2510(Uint16 Addr,Uint16 wrData)
{
ChipSlctMCP2510(0);
NOP;
NOP;
NOP;
DXR10=WRITE_MCP2510;
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
DXR10=Addr;
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
DXR10=wrData;
SPSA0=SPCR20_SUB;
while(!(SPSD0&0x02)) //等待上一个数据发送完毕
delay(1000);
ChipSlctMCP2510(3);
}
三.BFSX作为片选信号时DSP与MCP2510通信过程
由于要完成2510的读写 *** 作需要3个字节,所以采用BFSX引脚作为MCP2510的片选信号时需要将XCR1和RCR1中的XWDLEN1、RWDLEN1设置为100(24bit)。
由于发送接收字长度设置为24位,因此在发送过程中需要用到DXR2和DRR2寄存器,在此需要注意的一点就是,DXR2(DRR2)必须要比DXR1(DRR1)先初始化或读取。其中DXR2(DRR2)中存放的是24bit的高8位,DXR1(DRR1)中存放的是24bit的低16位。发送时DXR2中的数据首先发送,接收时数据首先存放到DRR2中,因此DXR2(DRR2)中存放指令字节,DXR1(DRR1)中由高到低存放地址和数据。
下面为一个简单的调试程序。
Uint16 Debug24bit( )
{
int i;
DXR20=0x02; //写指令
DXR10=0x0F01; //0F为CANCTRL地址,01为待写入的数据
delay(3000); //延时,等待发送完毕
i=DRR10; //清空接收缓冲器
i=DRR10;
i=DRR10;
DXR20=0x03; //读指令
DXR10=0x0F00; //0F为CANCTRL地址,00用于读取数据
delay(3000); //延时,等待接收完毕
i=DRR10&0x00FF; //DRR10低8位为有用数据
return i;
}
四. 通信时MCP2510的初始化
411 确定时间份额
计算公式:
时间份额TQ定义为:TQ = 2(BaudRate + 1)TOSC
其中,BaudRate 是由 CNF1BRP<5:0> 表征的二进制数。
标称位时间 = TQ (Sync_Seg + Prop_Seg +Phase_Seg1 + Phase_Seg2)
- 同步段(Sync_Seg)
- 传播时间段(Prop_Seg)
- 相位缓冲段1 (Phase_Seg1)
- 相位缓冲段2 (Phase_Seg2)
假设每个标称位包含N个时间份额TQ,则根据以上公式有:1/100K = NTQ
现设定分频值BaudRate为1,根据以上公式计算,得出在4MHz时钟时,要实现100Kbps的波特率每个标称位包含个10时间份额TQ,在N满足要求的情况下BaudRate还可以设置为其他值,由MCP2510的手册得知的TQ数量N应在6-25之间。然而在满足这个前提下,应尽量使TQ的时间短一些,即一个标称位的时间份额数量N多一些,这样选择采样点位置时具有更好的分辨率。
412 设置时间段和采样点
在确定了一个标称位包含的时间份额数量后,还需要对各个时间段包含的时间份额进行分配,以确定采样点的位置。位的采样时刻取决于系统参数,通常应发生在位时间的60-70%处。同时,同步段的时间份额为1 TQ,TDELAY典型值为1-2TQ。因此时间份额分配如下:
(Sync_Seg + Prop_Seg +Phase_Seg1 + Phase_Seg2)=(1+2+3+4)
413 确定同步跳转宽度和采样次数
根据规则,SJW最大值 为4TQ。然而通常情况下,只有当不同节点的时钟发生不够精确或不稳定时,例如采用陶瓷谐振器时,才需要较大的SJW。一般情况下, SJW取1即可满足要求。
基本指令:
一般指令:
LD
载入 A 接点
LDI
载入 B 接点
AND
串联 A 接点
ANI
串联 B 接点
OR
并联 A 接点
ORI
并联 B 接点
ANB
串联回路方块
ORB
并联回路方块
MPS
存入堆栈
MRD
堆栈读取 (指针不动)
MPP
读出堆栈
输出指令:
OUT
驱动线圈
SET
动作保持 (ON)
RST
接点或寄存器清除
定时器,计数器:
TMR
16 位定时器
CNT
16 位计数器
DCNT
32 位计数器
主控指令:
MC
公共串联接点的连接
MCR
公共串联接点的解除
接点上升沿/下降沿输出指令:
LDP
上升沿检出动作开始
LDF
下降沿检出动作开始
ANDP
上升沿检出串联连接
ANDF
下降沿检出串联连接
ORP
上升沿检出并联连接
ORF
下降沿检出并联连接
脉冲输出指令:
PLS
上升沿检出
PLF
下降沿检出
结束指令:
END
程序结束
其它指令:
NOP
无动作
INV
运算结果反相
P
指针
I
中断插入指针
步进梯形指令:
STL
程序跳至副母线
RET
程序返回主母线
应用指令:
程序流程控制:
00
CJ
条件转移
01
CALL
呼叫子程序
02
SRET
子程序结束
03
IRET
中断插入返回
04
EI
中断插入允许
05
DI
中断插入禁止
06
FEND
主程序结束
07
WDT
逾时监视定时器
08
FOR
循环范围开始
09
NEXT
循环范围结束
传送比较:
10
CMP
比较设定输出
11
ZCP
区间比较
12
MOV
数据传送
13
SMOV
移位传送
14
CML
反转传送
15
BMOV
全部传送
16
FMOV
多点传送
17
XCH
数据交换
18
BCD
BIN → BCD 变换
19
BIN
BCD → BIN 变换
四则逻辑运算:
20
ADD
BIN 加法
21
SUB
BIN 减法
22
MUL
BIN 乘法
23
DIV
BIN 除法
24
INC
BIN 加一
25
DEC
BIN 减一
26
WAND/DAND
逻辑与 (AND) 运算
27
WOR/DOR
逻辑或 (OR) 运算
28
WXOR/DXOR
逻辑异或 (XOR) 运算
29
NEG
取负数(取 2 的补码)
循环移位与移位:
30
ROR
右循环
31
ROL
左循环
32
RCR
附进位标志右循环
33
RCL
附进位标志左循环
34
SFTR
位右移
35
SFTL
位左移
36
WSFR
字右移
37
WSFL
字左移
38
SFWR
位移写入
39
SFRD
位移读出
数据处理:
40
ZRST
批次复位
41
DECO
译码
42
ENCO
编码
43
SUM
On 位数量
44
BON
On 位判定
45
MEAN
平均值
46
ANS
信号报警器置位
47
ANR
信号报警器复位
48
SQR
BIN 开平方
49
FLT
BIN 整数 → 二进制浮点数变换
高速处理:
50
REF
I/O 状态即时刷新
51
REFF
输入滤波器时间调整
52
MTR
矩阵分时输入
53
DHSCS
比较置位(高速计数器)
54
DHSCR
比较复位(高速计数器)
55
DHSZ
区间比较(高速计数器)
56
SPD
脉冲频率检测
57
PLSY
脉冲输出
58
PWM
脉冲波宽调制
59
PLSR
附加减速脉冲输出
便利指令:
60
IST
手动/自动控制
61
SER
数据检索
62
ABSD
绝对方式凸轮控制
63
INCD
相对方式凸轮控制
64
TTMR
示教式定时器
65
STMR
特殊定时器
66
ALT
On/Off 交替
67
RAMP
斜坡信号
68
DTM
数据转换与搬移
69
SORT
数据整理排序
外部设定显示:
70
TKY
十键键盘输入
71
HKY
十六键键盘输入
72
DSW
数字开关
73
SEGD
七段显示器译码
74
SEGL
七段显示器分时显示
75
ARWS
方向开关控制
76
ASC
ASCII 码变换
77
PR
ASCII 码打印
外部SER设备:
78
FROM
扩展模块CR数据读出
79
TO
扩展模块CR数据写入
80
RS
串行数据传送
81
PRUN
8 进制位传送
82
ASCI
HEX 转为 ASCII
83
HEX
ASCII 转为 HEX
84
CCD
校验码
85
VRRD
电位器值读出
86
VRSC
电位器刻度读出
87
ABS
绝对值运算
88
PID
PID 运算
台达变频器通讯:
100
MODRD
MODBUS 数据读取
101
MODWR
MODBUS 数据写入
102
FWD
变频器正转指令
103
REV
变频器反转指令
104
STOP
变频器停止指令
105
RDST
变频器状态读取
106
RSTEF
变频器异常复位
107
LRC
LRC 校验码计算
108
CRC
CRC 校验码计算
150
MODRW
MODBUS 资料读出/入
206
ASDRW
台达伺服器通
浮点运算:
110
DECMP
二进制浮点数比较
112
DMOVR
浮点数值数据移动
111
DEZCP
二进制浮点数区间比较
116
DRAD
角度→弧度
117
DDEG
弧度→角度
118
DEBCD
二进制浮点数→十进制浮点数
119
DEBIN
十进制浮点数→二进制浮点数
120
DEADD
二进制浮点数加法
121
DESUB
二进制浮点数法
122
DEMUL
二进制浮点数乘法
123
DEDIV
二进制浮点数除法
124
DEXP
二进制浮点数取指数
125
DLN
二进制浮点数取自然对数
126
DLOG
二进制浮点数取对数
127
DESQR
二进制浮点数平方
128
DPOW
浮点数乘方
129
INT
二进制浮点数→BIN 整数变换
130
DSIN
二进制浮点数SIN 运算
131
DCOS
二进制浮点数COS 运算
132
DTAN
二进制浮点数TAN 运算
133
DASIN
二进制浮点数ASIN 运算
134
DACOS
二进制浮点数ACOS 运算
135
DATAN
二进制浮点数ATAN 运算
136
DSINH
二进制浮点数SINH 运算
137
DCOSH
二进制浮点数COSH 运算
138
DTANH
二进制浮点数TANH 运算
172
DADDR
浮点数值加法
173
DSUBR
浮点数值减法
174
DMULR
浮点数值乘法
175
DDIVR
浮点数值除法
数据处理 II :
143
DELAY
延迟指令
144
GPWM
一般用脉冲波宽调变
145
FTC
模糊化温度控制
147
SWAP
上/下 字节交换
148
MEMR
文件寄存器读出
149
MEMW
文件寄存器写入
151
PWD
输入脉宽检测
152
RTMU
I 中断子程序执行时间测量开始
153
RTMD
I 中断子程序执行时间测量结束
154
RAND
随机数值产生
109
SWRD
数字开关读取
196
HST
高速定时器
176
MMOV
16à32 位数值转换
177
GPS
(GPS) 接收通讯指令
178
DSPA
太阳能板位置指令
179
WSUM
求和
202
SCAL
比例值运算
203
SCLP
参数型比例值运算
205
CMPT
表格比较指令
207
CSFO
撷取速度与追随输出指令
定位控制:
155
DABSR
ABS 现在值读出
156
ZRN
原点回归
157
PLSV
附旋转方向脉冲输出
158
DRVI
相对定位
159
DRVA
绝对定位
191
DPPMR
双轴相对点运动
192
DPPMA
双轴绝对点运动
193
DCIMR
双轴相对圆弧插补
194
DCIMA
双轴绝对圆弧插补
195
DPTPO
单轴建表式脉冲输出
197
DCLLM
闭回路定位控制
198
DVSPO
可变速度脉波输出
199
DICF
立即变更频率指令
万年历:
160
TCMP
万年历数据比较
161
TZCP
万年历数据取间比较
162
TADD
万年历数据加法
163
TSUB
万年历数据减法
166
TRD
万年历数据读出
167
TWR
万年历数据写入
169
HOUR
时间表
格雷码:
170
GRY
BIN→GRY 码变换
171
GBIN
GRY 码→BIN 变换
矩阵:
180
MAND
矩阵与 (AND)运算
181
MOR
矩阵或 (OR)运算
182
MXOR
矩阵异或 (XOR)运算
183
MXNR
矩阵同或 (XNR)运算
184
MINV
矩阵反相
185
MCMP
矩阵比较
186
MBRD
矩阵位读出
187
MBWR
矩阵位写入
188
MBS
矩阵位位移
189
MBR
矩阵位循环移位
190
MBC
矩阵位状态计数
接点型态逻辑运算:
215
LD&
S1 & S2
216
LD|
S1 | S2
217
LD^
S1 ^ S2
218
AND&
S1 & S2
219
AND|
S1 | S2
220
AND^
S1 ^ S2
221
OR&
S1 & S2
222
OR|
S1 | S2
223
OR^
S1 ^ S2
接点型态比较指令:
224
LD=
S1 = S2
225
LD>
S1 > S2
226
LD<
S1 < S2
228
LD<>
S1 ≠ S2
229
LD<=
S1 ≦ S2
230
LD>=
S1 ≧ S2
232
AND=
S1 = S2
233
AND>
S1 > S2
234
AND<
S1 < S2
236
AND<>
S1 ≠ S2
237
AND<=
S1 ≦ S2
238
AND>=
S1 ≧ S2
240
OR=
S1 = S2
241
OR>
S1 > S2
242
OR<
S1 < S2
244
OR<>
S1 ≠ S2
245
OR<=
S1 ≦ S2
246
OR>=
S1 ≧ S2
以上就是关于用汇编编写程序,用乘法指令实现32位二进制数和16位二进制数相乘全部的内容,包括:用汇编编写程序,用乘法指令实现32位二进制数和16位二进制数相乘、求计算机组成原理形成性考核册答案、dsp中系统时钟初始化程序应该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)