单片机指令集和操作系统的关系

单片机指令集和操作系统的关系

单片机指令集和操作系统的关系

1> 首先讨论各种单片机与操作系统的关系

?

?说到单片机,大家第一时间想到的应该是51单片机,对吧。不错,更高级一点的AVR,把他称为单片机,我们也还觉得可以接受。那幺再高级一点的ARM7,8086,80386,Core i3,Athlon 等等我们更习惯称他们为CPU,因为学习计算机原理的时候都是这幺叫的,但按照单片机的定义,他们也是归属于单片机。这也不怪大家,中国的教育都是这样,只注重告诉你是什幺,而不告诉你他们之间的联系。上述几种单片机或者芯片(如果你还是觉得把core i3叫做单片机你不习惯的话)在原理上都是一样,即都是有运算器控制器寄存器构成的,不同之处在于它们的硬件电路实现不同,个数不同,功耗不同,计算能力不同,但都提供相同的基本功。OK,终于让cpu找到了组织,那幺就介绍为什幺有的单片机要操作系统,有的在我们学习的过程中压根就跟操作系统不挨边。

?

?51/AVR单片机在学习他们的时候,都是先介绍它们有哪些资源有几个寄存器,有几个时钟等,然后就是怎幺用汇编,用C或者是C与汇编混合编程。这里我们用的语言都是可以直接操作硬件资源的,因此我们可以自己决定什幺时候使用哪个寄存器,什幺时候将寄存器内容写到辅存储器中。

?

?ARM单片机在学习它的时候,我们可以给他搭载操作系统,如MicroC/OS,iOS X, Android或者其他定制的Linux操作系统,但有时我们也经常不让它搭载操作系统,而是直接像使用51单片机那样来操作它。

R单片机指令系统

第五章AVR单片机指令系统 计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。 AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。 SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。 AVR器件(指令速查表) 118条指令器件

1.不带进位加法 ADD一不带进位加 说明:两个寄存器不带进位C标志加,结果送目的寄存器Rd。 操作: RdRd+ Rr 语法:操作码:程序计数器: ADD Rd,Rr O≤d≤31,0≤r≤31 PCPC+1 例子:。(实践操作程序实践操作例子*.ASM,必须编译生成*.OBJ文件才可调试,如要修改*.ASM,必须修改文件属性,去掉*.ASM只读文件属性2.带进位加法 ADC-一带进位加 说明:两个寄存器和C标志的内容相加,结果送目的寄存器Rd。 操作: Rd←Rd+Rr+C 语法:操作码:程序计数器: ADC Rd,Rr 0≤d≤31,0≤r≤31 PC←PC+1 例子:(实践操作程序 3.减1指令 DEC一减1 说明:寄存器Rd的内容减1,结果送目的寄存器Rd中。 操作:RdRd-l 语法:操作码:程序计数器: DEC Rd 0≤d≤31 PCPC十1 例子:(实践操作程序 4.立即数比较 CPI——带立即数比较 说明:该指令完成寄存器Rd和常数的比较操作。寄存器的内容不改变。该指令后能 使用所有条件转移指令。 操作:Rd-K 语法:操作码:程序计数器: CPI Rd, K 16≤d≤31, 0≤ K≤255 PCPC + 1

51单片机汇编指令速查表

51单片机汇编指令速查表 指令格式功能简述字节数周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2 MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2 MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2 MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2 XCH A ,Rn 累加器与寄存器交换 1 1 XCH A ,@Ri 累加器与内部RAM单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1 SWAP A 累加器高4位与低4位交换 1 1 POP direct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 二、算术运算类指令 ADD A, Rn 累加器加寄存器 1 1

操作系统的名词解释

操作系统名词术语解释 操作系统引论中的名词术语 1.脱机输入输出(off—line input/output) 指在外围计算机的控制下,实现程序和数据的输入输出;或者说它们是脱离主机进行的,故称为脱机输入输出。 2.联机输入输出(on—line input/output) 指在主机直接控制下,进行输入输出操作的工作方式,称为联机输入输出。 3.批处理技术(batch processing technic) 指在管理程序的控制下,对一批作业自动进行处理而不需人工干预的一种技术。该技术旨在提高系统的吞吐量和资源利用率。 4.多道程序设计(multiprograming) 指在内存中同时存放若干个作业,并使它们同时运行的一种程序设计技术。在单处理机环境下,仅在宏观上这些作业在同时运行,而在微观上它们是在交替执行。即每一时刻只有一个作业在执行,其余作业或处于阻塞状态,或处于就绪状态。 5.操作系统(operating system) 操作系统是控制和管理计算机硬件与软件资源,合理地组织计算机的工作流程,以及方便用户的程序的集合。其主要功能是实现处理机管理、内存管理、IO设备管理、文件管理以及作业管理。 6.系统吞吐量(system throughput) 指系统在单位时间内所完成的作业数目。 7.作业周转时间从作业进入系统开始,到作业完成并退出系统所经历的时间。 8.分时操作系统(time- sharing operating system) 指允许若干个联机用户,通过各自的终端同时使用一台计算机的操作系统。为实现人-机交互,系统把处理机时间分割成若干时间片后,轮流为每个终端分配一个时间片运行其作业。即让每,个终端作业运行一个时间片后,便暂停其运行而把CPU再分配给下一个终端作业,也运行一个时间片。这样,

51单片机汇编指令集(附记忆方法)

51单片机汇编指令集 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; 三、逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; 四、控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移;

单片机和linux嵌入式操作系统区别

单片机和linux嵌入式操作系统区别 随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护的成本等各个方面给您提供一个参考,并从技术角度分析单片机和带操作系统的系统的软件开发的异同点。 ● 1.单片机与ARM等新处理器的价格比较 ● 2.带操作系统与不带操作系统的软件开发的区别 ● 2.1.驱动开发的区别 ● 2.2.应用程序开发的区别 1. 单片机与ARM等新处理器的价格比较 表1

自己不熟悉的芯片和技术,最后的成本也可能更高。 2. 带操作系统与不带操作系统的软件开发的区别 用通俗的话来说,一个处理芯片不运行操作系统,我们就把它称为单片机,而单片机编程就是写裸板程序,这个程序直接在板子上运行;相对的,另一种程序就是基于操作系统的程序,说得简单点就是,这种程序可以通过统一的接口调用“别人写好的代码”,在“别人的基础上”更快更方便地实现自己的功能。 2.1. 驱动开发的区别 驱动开发的区别我总结有两点:能否借用、是否通用。 2.1.1 能否借用 基于操作系统的软件资源非常丰富,你要写一个Linux设备驱动时,首先在网上找找,如果有直接拿来用;其次是找到类似的,在它的基础上进行修改;如果实在没有,就要研究设备手册,从零写起。而不带操作系统的驱动开发,一开始就要深入了解设备手册,从零开始为它构造运行环境,实现各种函数以供应用程序使用。 举个例子,要驱动一块LCD,在单片机上的做法是: ①首先要了解LCD的规格,弄清楚怎么设置各个寄存器,比如设置LCD的时钟、分辨率、象素 ②划出一块内存给LCD使用 ③编写一个函数,实现在指定坐标描点。比如根据x、y坐标在这块内存里找到这个象素对应的小区域,填入数据。 基于操作系统时,我们首先是找到类似的驱动,弄清楚驱动结构,找到要修改的地方进行修改。 下面是单片机操作LCD的代码: ①初始化: void Tft_Lcd_Init(int type) { /* * 设置LCD控制器的控制寄存器LCDCON1~5 * 1. LCDCON1: * 设置VCLK的频率:VCLK(Hz) = HCLK/[(CLKVAL+1)x2] * 选择LCD类型: TFT LCD * 设置显示模式: 16BPP * 先禁止LCD信号输出 * 2. LCDCON2/3/4: * 设置控制信号的时间参数 * 设置分辨率,即行数及列数 * 现在,可以根据公式计算出显示器的频率: * 当HCLK=100MHz时,

五大移动终端操作系统比较

五大移动终端操作系统比较 摘要: 随着五大移动终端操作系统浮出水面,让我们来领略一下五大移动终端操作系统各自的优劣势。移动信息时代正在来临,在这样的情况下,移动终端的形式和功能也处在不断的开发和扩展中,因此,在对移动终端的研究的研究中我对五大操作系统进行比较,以便更好的发挥操作系统的优势。 关键词:操作系统Linux SymbianAndroidWindows webOS 正文: 1.Linux:是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux【1】以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU 公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括

了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT 一样,允许我们使用窗口、图标和菜单对系统进行操作。 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 Linux进入到移动终端操作系统近一年多时间,就以其开放源代码的优势吸引了越来越多的终端厂商和运营商对它的关注,包括摩托罗拉和NTT DoCoMo等知名的厂商。已经开发出的基于Linux的手机有摩托罗拉的A760、A768、CEC的e2800、三星的i519等。2004年6月在日本东京BIG SIGHT展览馆举办的“LinuxWorld Expo/Tokyo 2004”博览会上,日本手机大厂商NEC则展示了其采用Linux操作系统的手机。我国的大唐电信也于7月宣布将Linux 作为其TD-SCDMA 3G手机操作系统。 Linux与其它操作系统相比是个后来者,但Linux具有二个其它操作系统无法比拟的优势。其一,Linux具有开放的源代码,能够大大降低成本。其二,既满足了手机制造商根据实际情况有针对性地开发自己的Linux手机操作系统的要求,又吸引了众多软件开发商对内容应

三大移动终端操作系统比较

Symbian:目前全球最大的一个智能手机操作系统。Symbian提供三个主要的智能手机平台,分别是适用于单手操作的S60、双手操作的S80和以笔操作为主UIQ平台,其中S60的应用最多。今年上半年Symbian手机出货量为500万支,预计2008年或2009年前,Symbian手机销售量将达2亿支。Symbian手机目前包括诺基亚9300智能手机、索尼爱立信P910智能手机及诺基亚N-Gage等。 与其他移动终端操作系统相比,Symbian具有以下两个特点: 一是,专门研究移动终端操作系统的厂商由于Symbian OS起初为手机专用操作系统,因此其对移动通信协议如GSM、GPRS、WCDMA、蓝牙以及CDMA 2001X等的支持优于其他系统。在手机用户的接受程度、手机软件的易用性、运营商的合作等方面都有一定优势。 二是,Symbian由众多顶级传统手机厂商联合成立,公司的股东诺基亚和索尼爱立信等几家手机巨头的支持也是其他竞争对手不可企及的巨大优势。凭借这些手机厂商生产上的技术优势和市场经验,其智能手机在未来若干年的国际市场中都会占有很大份额。但同时,这些手机厂商之间存在竞争又有合作的关系,这也是限制Symbian发展的致命一点。企业内部存在着许多诸如专利、费用、地位等问题,这些势必导致各公司之间的分歧,影响技术发展。 现在Symbian正面临着来自Windows Mobile和Linux的强力挑战,内忧外患给Symbian带来了巨大的压力。但无论如何,具有多年的发展经验、众多顶级厂商的支持以及广泛的用户认识度,Symbian仍将在未来几年内保持优势地位,这一点是毋庸置疑的。 Windows Mobile:微软在移动终端操作系统上有三个系列,分别为Pocket PC、Pocket PC Phone Edition和Sm arp hone 统称为Windows Mobile ,最新推出的Windows Mobile操作系统底层采用Windows CE .net 4.2内核。 微软获得了包括AT&T无线、Cingular无线、Sprint PCS、Verizon无线以及T-Mobile等多家美国顶级移动运营商的支持。目前,在全世界范围内已经有28个国家的60多家移动运营商推出了基于Windows Mobile操作系统的手机产品。例如Sprint PCS 的Smart Device PPC-6601就应用了Windows Mobile 2003 Second Edition操作系统,这款设备集成了QWERTY键盘能方便输入,同时还支持1xRTT、Wi-Fi以及蓝牙等多种连接方式。 基于微软在用户中较高的认识度和其操作系统的易用性,微软将是Symbian最大的竞争对手,其市场份额在未来几年内将会增加,与Symbian的差距将逐渐缩小。 微软在智能手机市场上主要竞争优势包括:集成了用户熟悉的常用软件,如Mobile outlook和Windows Media Player等,用户能够通过Outlook收发电子邮件,拥有与PC同步的邮箱、联系人、任务、日历等,通过Word、Excel、PowerPoint等系列办公软件,实现移动办公。另外,由于微软在PC操作系统中的统治地位,在用户中广泛的品牌认知度,也非常有利于微软在移动终端操作系统中的推广。从话音业务发展起来的Symbian适合一般消费人群,而工作、生活都离不开电脑的人群,比如信息工作者,更容易适应从Windows发展过来的能与电脑无缝连接的Windows Mobile。

义隆单片机指令集

隆单片机指令系统 3.1.EM78指令概述 EM78156 & EM78P156 单片机共有的58 条指令,其宽度为13 位。每一个指令码可分割成两部份,第一部分为标示指令功能的运算码(OPCODE ),第二部份則指出运算时所需之參数,亦即运算码(OPERAND )。而指令的类型大致可分为下列四种: (1)控制型指令(control operation ):如INT...等等。 (2)面向寄存器(字节操作)型指令(register oriented ):如 MOV A, Reg_B ;move Reg_B to A ADD Reg_B, A ;add Reg_B with A, and ;save in Reg_B ... 等等。 (3)位操作型指令(bit oriented ):如 BC,JBS...等等。 (4)常数型指令(constant operation ):如 MOV A, @0x55 ;move 0x55 to A XOR @0xFF ;Xor A with 0xFF 一般而言,EM78 系列八位微控制器除一个指令需两个周期之外,其他的指令只需一个指令周期,除了对PC (Program Counter)做“写”的指令,需二个指令周期,如(MOV PC, A)。 3.2.EMC 汇编语言指令集 符号解说: 1.符号‘R’:代表一般用途寄存器中的其中一个。 2.符号‘B’:代表一般用途寄存器中的某一位。 3.符号‘K’:代表8位或10位的常数或内容。 4.符号‘A’:代表累加寄存器。 3.2.1. 面向寄存器(字节操作)型指令(26条) 助记符号指令动作标志影响指令周期语言描述 ADD A,R A+R->A Z,C,DC 1 ADD ADD R,A A+R->R Z,C,DC 1 ADD AND A,R A&R->A Z 1 AND AND R,A A&R->R Z 1 AND CLR R 0->R Z 1 Clear Register CLRA 0->A Z 1 Clear the A register COM R /R->R Z 1 Complement R 助记符号指令动作标志影响指令周期语言描述 COMA R /R->A Z 1 Complement R,Place in A DAA A寄存器调整为BCD值 C 1 Decimal Adjust DEC R R-1->R Z 1 Decrement R DECA R R-1->A Z 1 Decrement R,Place in A DJZ R R-1->R 结果为零就跳过下一个指令 1 Decrement R,Skip if 0 DJZA R R-1->A 结果为零就跳过下一个指令 1 Decrement R,Please in A register, Skip if 0 INC R R+1->R Z 1 Increment R INCA R R+1->A Z 1 Increment R,Please in A JZ R R+1->R, 结果为零就跳过下一个指令 1 Increment R,Skip if 0 JZA R R+1->A, 结果为零就跳过下一个指令 1 Increment R,Place in the A regiser,Skipif 0

51单片机常用汇编语言助记符英文全称

51单片机常用汇编语言助记符英文全称 (1)数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; (2)算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1;DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; (3)逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零;CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; (4)控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用;

AVR单片机指令系统

AVR单片机指令系统 计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。 AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。 SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。 AVR器件(指令速查表) 118条指令器件 AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/851 5,AT90S8534/8535算术和逻辑指令 BRCC k

C清零转 位指令和位测试指令ADD Rd,Rr 加法 BRSH k ≥转 SBI P,b 置位I/O位ADC Rd,Rr 带进位加

BRLO k 小于转(无符号) CBI P,b 清零I/O位◇ ADIW Rdl,K 加立即数 BRMI k 负数转移

LSL Rd 左移SUB Rd,Rr 减法 BRPL k 正数转移 LSR Rd 右移SUBI Rd,Rr

减立即数 BRGE k ≥转(带符号) ROL Rd 带进位左循环SBC Rd,Rr 带进位减 BRLT k 小于转(带符号)

ROR Rd 带进位右循环SBCI Rd,K 带C减立即数 BRHS k H置位转移 ASR Rd 算术右移◇ SBIW Rdl,K

快速入门单片机汇编语言

快速入门单片机汇编语 言 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

快速入门单片机汇编语言 简要: 单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。 正文: 在此我们主要讲解美国ATMEL公司的89C51单片机。 一、89C51单片机PDIP(双列直插式)封装引脚图: 其引脚功能如下: P0口(—):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁存器中,而高8位地址由P2口输出。 P1口(—):其每一位都能作为可编程的输入或输出线。 P2口(—):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高8位,与P0口一起组成16位地址总线。对89c51单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。 P3口(—):其为双功能口,作为第一功能使用时,其功能与P1口相同。当作为第二功能使用时,每一位功能如下表所示。 P3口第二功能

Rst\Vpd:上电复位端和掉电保护端。 XTAL1(xtal2):外接晶振一脚,分别接晶振的一端。 Gnd:电源地。 Vcc:电源正级,接+5V。 PROG\ALE:地址锁存控制端 PSEN:片外程序存储器读选通信号输出端,低电平有效。 EA\vpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。 二、常用指令及其格式介绍: 1、指令格式: [标号:]操作码 [ 目的操作数][,操作源][;注释] 例如:LOOP:ADD A,#0FFH ;(A)←(A)+FFH 2、常用符号: Ri和Rn:R表示工作寄存器,i表示1和0,n表示0~7。 rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。 #data:包含于指令中的8位立即数。 #data16:包含于指令中的16位立即数。

51单片机汇编指令集(附记忆方法)

51 单片机汇编指令集 一、数据传送类指令( 7 种助记符) MOV(英文为Move :对内部数据寄存器RAM 和特殊功能寄存器SFR 的数据进行 传送; MOV Q Move Code )读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部 RAM 勺数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令( 8 种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加 1; DEC(Decrement) 减 1; MUL(Multiplication 、Multiply) 乘法; DIV(Division 、Divide) 除法; 三、逻辑运算类指令( 10 种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) SWAP (Swap) 低 4 位与高 4 位交换; 四、控制转移类指令( 17 种助记符) ACALL ( Absolute subroutine Call )子程序绝对调用; LCALL ( Long subroutine Call )子程序长调用; RET ( Return from subroutine )子程序返回; RETI ( Return from Interruption )中断返回; SJMP ( Short Jump )短转移; AJMP ( Absolute Jump )绝对转移; LJMP( Long Jump )长转移; CJNE (Compare Jump if Not Equal) 比较不相等则转移; DJNZ (Decreme nt Jump if Not Zero) 减1后不为0则转移; JZ (Jump if Zero) 结果为0则转移; JNZ (Jump if Not Zero) 结果不为0则转移; JC (Jump if the Carry flag is set) 有进位则转移; JNC (Jump if Not Carry) 无进位则转移; JB (Jump if the Bit is set) 位为1则转移; JNB (Jump if the Bit is Not set) 位为0则转移; 带进位循环左移; 带进位循环右移;

MCS-51汇编语言指令集

MCS-51汇编语言指令集 符号定义表 符号 含义 Rn R0~R7寄存器n=0~7 Direct 直接地址,内部数据区的地址RAM(00H~7FH) SFR(80H~FFH) B,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0 @Ri 间接地址Ri=R0或R1 8051/31RAM地址(00H~7FH) 8052/32RAM地址(00H~FFH) #data 8位常数 #data16 16位常数 Addr16 16位的目标地址 Addr11 11位的目标地址 Rel 相关地址 bit 内部数据RAM(20H~2FH),特殊功能寄存器的直接地址的位 2指令介绍 指令 字节 周期 动作说明 算数运算指令 1.ADD A,Rn 1 1 将累加器与寄存器的内容相加,结果存回累加器 2.ADD A,direct 2 1 将累加器与直接地址的内容相加,结果存回累加器 3.ADD A,@Ri 1

将累加器与间接地址的内容相加,结果存回累加器4.ADD A,#data 2 1 将累加器与常数相加,结果存回累加器 5.ADDC A,Rn 1 1 将累加器与寄存器的内容及进位C相加,结果存回累加器6.ADDC A,direct 2 1 将累加器与直接地址的内容及进位C相加,结果存回累加器7.ADDC A,@Ri 1 1 将累加器与间接地址的内容及进位C相加,结果存回累加器8.ADDC A,#data 2 1 将累加器与常数及进位C相加,结果存回累加器 9.SUBB A,Rn 1 1 将累加器的值减去寄存器的值减借位C,结果存回累加器10.SUBB A,direct 2 1 将累加器的值减直接地址的值减借位C,结果存回累加器11.SUBB A,@Ri 1 1 将累加器的值减间接地址的值减借位C,结果存回累加器12.SUBB A,0data 2 1 将累加器的值减常数值减借位C,结果存回累加器 13.INC A 1 1 将累加器的值加1 14.INC Rn 1

51单片机指令集

51单片机指令集.txt我这辈子只有两件事不会:这也不会,那也不会。人家有的是背景,而我有的是背影。肉的理想,白菜的命。肉的理想,白菜的命。白马啊你死去哪了!是不是你把王子弄丢了不敢来见我了。MCS-51单片机的指令集 1、数据传送类指令 助记符功能说明字节数振荡周期 MOV A,Rn 寄存器内容送入累加器 1 12 MOV A,direct 直接地址单元中的数据送入累加器 2 12 MOV A,@Ri 间接RAM中的数据送入累加器 1 12 MOV A,#data8 8位立即数送入累加器 2 12 MOV Rn,A 累加器内容送入寄存器 1 12 MOV Rn,direct 直接地址单元中的数据送入寄存器 2 24 MOV Rn,#data8 8位立即数送入寄存器 2 12 MOV direct,A 累加器内容送入直接地址单元 2 12 MOV direct,Rn 寄存器内容送入直接地址单元 2 24 MOV direct,direct 直接地址单元中的数据送入直接地址单元 3 24 MOV direct,@Ri 间接RAM中的数据送入直接地址单元 2 24 MOV direct,#data8 8位立即数送入直接地址单元 3 24 MOV @Ri,A 累加器内容送入间接RAM单元 1 12 MOV @Ri,direct 直接地址单元中的数据送入间接RAM单元 2 24 MOV @Ri,#data8 8位立即数送入间接RAM单元 2 12 MOV DPTR,#data16 16位立即数地址送入地址寄存器 3 24 MOV A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 24 MOV A,@Ri 外部RAM(8位地址)送入累加器 1 24 MOV A,@DPTR 外部RAM(16位地址)送入累加器 1 24 MOV @Ri,A 累加器送入外部RAM(8位地址) 1 24 MOV @DPTR,A 累加器送入外部RAM(16位地址) 1 24 PUSH direct 直接地址单元中的数据压入堆栈 2 24 POP DIRECT 堆栈中的数据弹出到直接地址单元 2 24 XCH A,Rn 寄存器与累加器交换 1 12 XCH A,direct 直接地址单元与累加器交换 2 12 XCH A,@Ri 间接RAM与累加器交换 1 12 XCHD A,@Ri 间接RAM与累加器进行低半字节交换 1 12 2、算术操作类指令 助记符功能说明字节数振荡周期 ADD A,Rn 寄存器内容加到累加器 1 12 ADD A,direct 直接地址单元加到累加器 2 12 ADD A,@Ri 间接RAM内容加到累加器 1 12 ADD A,#data8 8位立即数加到累加器 2 12 ADDC A,Rn 寄存器内容带进位加到累加器 1 12

汇编语言指令集

汇编语言指令集 一、数据传输指令 1. 通用数据传送指令. MOV(MOVe) 传送字或字节. MOVS(MOVe String) 串传送指令 MOVSX先符号扩展,再传送. MOVZX先零扩展,再传送. PUSH把字压入堆栈. POP把字弹出堆栈. PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈. BSWAP 交换32位寄存器里字节的顺序 XCHG (eXCHanG)交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数) CMPXCHG比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX ) XADD先交换再累加.( 结果在第一个操作数里) XLAT(TRANSLATE) 字节查表转换. ── BX 指向一张256 字节的表的起点, AL 为表的索引值(0-255,即0-FFH); 返回AL 为查表结果. ( [BX+AL]->AL ) 2. 输入输出端口传送指令. IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器) 输入输出端口由立即方式指定时, 其范围是0-255; 由寄存器DX 指定时,其范围是0-65535. 3. 目的地址传送指令. LEA (Load Effective Address)装入有效地址. 例: LEA DX,string ;把偏移地址存到DX. LDS (Load DS with pointer)传送目标指针,把指针内容装入DS. 例: LDS SI,string ;把段地址:偏移地址存到DS:SI. LES (Load ES with pointer)传送目标指针,把指针内容装入ES. 例: LES DI,string ;把段地址:偏移地址存到ES:DI. LFS 传送目标指针,把指针内容装入FS. 例: LFS DI,string ;把段地址:偏移地址存到FS:DI. LGS 传送目标指针,把指针内容装入GS. 例: LGS DI,string ;把段地址:偏移地址存到GS:DI. LSS 传送目标指针,把指针内容装入SS. 例: LSS DI,string ;把段地址:偏移地址存到SS:DI. 4. 标志传送指令. LAHF (Load AH with Flags)标志寄存器传送,把标志装入AH. SAHF (Store AH into Flgs)标志寄存器传送,把AH内容装入标志寄存器. PUSHF (PUSH the Flags)标志入栈. POPF (POP the Flags)标志出栈.

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

操作系统名词解释

操作系统名词术语解释操作系统引论中的名词术语 1.脱机输入输出(off —line input /output) 指在外围计算机的控制下,实现程序和数据的输入输出;或者说它们是脱离主机进行的,故称为脱机输入输出。 2.联机输入输出(on—line input /output) 指在主机直接控制下,进行输入输出操作的工作方式,称为联机输入输出。 3.批处理技术(batch processing technic) 指在管理程序的控制下,对一批作业自动进行处理而不需人工干预的一种技术。该技术旨在提高系统的吞吐量和资源利用率。 4.多道程序设计(multiprograming) 指在内存中同时存放若干个作业,并使它们同时运行的一种程序设计技术。在单处理机环境下,仅在宏观上这些作业在同时运行,而在微观上它们是在交替执行。即每一时刻只有一个作业在执行,其余作业或处于阻塞状态,或处于就绪状态。 5.操作系统(operating system) 操作系统是控制和管理计算机硬件与软件资源,合理地组织计算机的工作流程,以及方便用户的程序的集合。其主要功能是实现处理机管理、内存管理、IO 设备管理、文件管理以及作业管理。 6.系统吞吐量(system throughput) 指系统在单位时间内所完成的作业数目。 7.作业周转时间从作业进入系统开始,到作业完成并退出系统所经历的时间。 8.分时操作系统(time- sharing operating system) 指允许若干个联机用户,通过各自的终端同 时使用一台计算机的操作系统。为实现人-机交互,系统把处理机时间分割成若干时 间片后,轮流为每个终端分配一个时间片运行其作业。即让每,个终端作业运行一个时间片后,便暂停其运行而把CPU 再分配给下一个终端作业,也运行一个时间片。这样,在不长的时间(2—3 秒)内,将会使每个终端作业都能执行一次,从而使所有终端的用户请求,都能 获得及时响应。 8.实时操作系统(real—time opearting system) 指系统对特定输入做出反应的速度,足以控制发 出实时信号的对象的一种操作系统。换言之,是指能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务,使它们协调一致地运行的一种操作系统。 9.并行(paralled) 指两个或多个事件在同一时刻进行,例如,在具有中断的计算机系统中,CPU 可以和IO 设备并行执行。 10.并发(concurrence) 指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发 是指宏观上在一段时间内有多道程序在同时运行,而微观上这些程序是在交替地执行。 11.资源共享(resource—sharing) 指多个并发进程共享计算机系统中的资源。被共享的资源 可以是诸如CPU 、内存、磁盘和打印机等硬件资源;也可以是软件资源,如文件和数据。 12.虚拟。(virtual) 所谓虚拟是指把一个物理上的实体,映射为若干个逻辑上的对应物。前者是实的,实际存在的;后者是虚的,只是用户的一种感觉。例如,在多道程序系统中,虽然只有一个CPU,但通过分时使用后给用户的感觉是每道程序都有一个cPu在为之服务。亦即多道程序设计技术可把一台物理CPU 虚拟为多台逻辑上的cPu。 13.异步(asynchronism) 指一组事件在多次出现时,它们出现的时间和次序没有一定规律。在多道程序环境下,异步是指每道程序均以人们不可预知的速度向前推进。 14.计算机网络(computer network) 指通过数据通信系统,把分散的计算机和终端设备联接起来, 以达到数据通信和资源共享的目的的一种计算机系统, 它是计算机技术和通信技术相结合的产物。 15.网络操作系统(network operating system) 用于管理网络通信和资源共享,协调各主机上任务的执行,并向用户提供统一的网络接口的软件集合。网络操作系统是用户(或用户 程序)与各主机操作系统之间的接口。用户只有通过该接口才能取得网络所提供的各种服务。 16.模块化(modularization) 把.一个系统从功能上分解为若干个既具有一定独立性、 彼此间又有一定联系的组成部分,这种组成部分被称为模块。 17.内聚性(cohesion) 指每个模块内部的各部分间相联系的紧密程度。内聚性愈高,模块的独 立性愈强。

相关文档
最新文档