存储器扩展汇编
- 格式:ppt
- 大小:1.65 MB
- 文档页数:27
汇编语言的种类汇编语言是计算机领域中的一门编程语言,它与机器语言密切相关,用于书写可以被计算机直接执行的程序代码。
汇编语言直接操作计算机底层硬件,因此在性能和效果上具有很大优势。
在汇编语言中,不同的体系结构和处理器都有不同的指令集和语法规则,这导致了汇编语言的种类繁多。
本文将介绍几种常见的汇编语言。
1. x86汇编语言x86汇编语言是最为广泛应用的汇编语言之一,在PC和服务器领域得到广泛使用。
x86指令集是英特尔和AMD等处理器厂商所采用的指令集架构,在x86汇编语言中,可以直接操作寄存器、内存以及其他外设,具有很高的灵活性和可操作性。
x86汇编语言使用Intel语法和AT&T语法两种不同的语法规则,常用的编译器有MASM、NASM和GAS。
2. ARM汇编语言ARM汇编语言广泛应用于移动设备、嵌入式系统和物联网等领域。
ARM处理器以其低功耗、高性能和内容丰富的架构而闻名,ARM汇编语言可以直接操作处理器寄存器、存储器和外设,具有很好的可移植性和可扩展性。
ARM汇编语言使用ARM体系结构定义的指令集和语法规则,常用的编译器有ARM汇编器和GNU汇编器等。
3. MIPS汇编语言MIPS汇编语言被广泛应用在嵌入式系统、数字信号处理以及网络设备等领域。
MIPS处理器以其简洁的指令集和高效的架构而著称,MIPS汇编语言可以直接控制寄存器、存储器以及其他外设,具有很高的执行效率和指令流水线能力。
MIPS汇编语言使用MIPS体系结构定义的指令集和语法规则,常用的编译器有MIPS汇编器。
4. PowerPC汇编语言PowerPC汇编语言主要应用于IBM PowerPC架构的服务器、工作站以及游戏机等领域。
PowerPC处理器以其高性能和可扩展性而著称,PowerPC汇编语言可以直接操作处理器寄存器、存储器和外设,具有很好的可移植性和性能表现。
PowerPC汇编语言使用PowerPC指令集和语法规则,常见的编译器有PowerPC汇编器。
《微机原理与汇编语言》课程教学大纲课程代码:030731004课程英文名称:Computer Principles and Assembly Language课程总学时: 56 讲课: 44 实验:12适用专业:电子信息科学与技术大纲编写(修订)时间:2010一、大纲使用说明(一)、课程地位及教学目标本课程是电子信息科学与技术专业的必修的专业基础课,主要任务是使学生掌握8088/8086系列汇编程序设计和PC机硬件原理知识,并具有一定的应用能力。
(二)、知识,能力及技能方面的基本要求通过本课程学习,要求学生从理论上和实践上掌握计算机的基本组成、工作原理、硬件的连接等内容,会编写较简单的汇编语言程序,并能利用PC总线进行I/O扩展及编程,建立微机系统的整体概念,使学生具有应用微机系统软硬件开发的初步能力,为后续课程单片机、数字系统设计、ARM等打下理论基础。
(三)、实施说明由于本课程是主要专业基础课,对先修课基础要求较高,在讲授具体内容时,应注重基础原理内容和实际应用介绍,使学生在掌握基本原理的基础上,具有一定解决实际问题的能力。
要提高学生的基本素质和应用能力,必须改变传统的教学手段。
要利用多媒体授课;增加自学讨论部分,使学生从被动吸收知识的状态下,转化到主动索取知识的状态中来。
同时,应不断增加新知识。
总学时:56学时;讲课:44学时;实验:12学时。
(四)、对习题,实验,实践环节的要求本大纲立足于实施素质教育为目标培养的。
习题从教材中选取,按时交作业,编程习题尽量上机验证。
实验强调应用性,学生应独立完成,实验前预习实验内容。
(五)、对先修课程的要求1.计算机导论课程中的计算机数的编码,二、十六进制,BCD,ASCII码;2.数字电子技术课程中的逻辑电路基础。
(六)、考核方式及成绩评定方式1.考核方式:考试。
2.考试方法:闭卷。
3.课程总成绩:最终理论考试与平时考核(包括实验、期中考试、作业、出勤、提问等)的总和。
汇编ADD指令知识点:加法汇编指令ADD⼀、加法指令 ADD(Addition) 格式格式: ADD A,B //A=A+B;功能: 两数相加1. OPRD1为任⼀通⽤寄存器或存储器操作数,可以是任意⼀个通⽤寄存器,⽽且还可以是任意⼀个存储器操作数. OPRD2为⽴即数,也可以是任意⼀个通⽤寄存器操作数.⽴即数只能⽤于源操作数B.2. A和B均为寄存器是允许的,⼀个为寄存器⽽另⼀个为存储器也是允许的, 但不允许两个都是存储器操作数.//也就是说A与B不能同时是指针如: add [eax],[ebx] 这类情况是错的例⼦:第三课中的add函数⾥有如下2句代码00401003 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] ; a00401006 |. 0345 0C ADD EAX,DWORD PTR SS:[EBP+C] ; b //eax=a+b⼆、ADD指令测试int _tmain(int argc, _TCHAR* argv[]){int i=0;printf("");i=i+0x100;i=i+0x111;int *p=&i;__asm{mov eax,0x222mov ebx,0x100add ebx,eax //ebx322//mov ebx,padd [ebx],0x111//00401048 |. 8003 11 ADD BYTE PTR DS:[EBX],11 ; i=i+11add i,0x111//DWORD WORD}/*0040101C |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; eax=i=00040101F |. 05 00010000 ADD EAX,100 ; eax=eax+100=0+100=10000401024 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX ; i=eax=10000401027 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] ; ecx=i=1000040102A |. 81C1 11010000 ADD ECX,111 ; ecx=ecx+111=100+111=0x21100401030 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX ; i=ecx=0x21100401033 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8] ; edx=&i=ebp-8;00401036 |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX ; p=&i00401039 |. B8 22020000 MOV EAX,2220040103E |. BB 00010000 MOV EBX,10000401043 |. 03D8 ADD EBX,EAX ; ebx=ebx+eax=100+222=32200401045 |. 8B5D FC MOV EBX,DWORD PTR SS:[EBP-4] ; ebx=i=edx=ebp-800401048 |. 8003 11 ADD BYTE PTR DS:[EBX],11 ; i=i+110040104B |. 8145 F8 11010>ADD DWORD PTR SS:[EBP-8],111 ; i=i+111*/printf("");return0;}。
【汇编】各种寄存器介绍计算机寄存器分类简介:32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要⽤来保存操作数和运算结果等信息,从⽽节省读取操作数所需占⽤总线和访问存储器的时间。
32位CPU有4个32位的通⽤寄存器EAX、EBX、ECX和EDX。
对低16位数据的存取,不会影响⾼16位的数据。
这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相⼀致。
4个16位寄存器⼜可分割成8个独⽴的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有⾃⼰的名称,可独⽴存取。
程序员可利⽤数据寄存器的这种“可分可合”的特性,灵活地处理字/字节的信息。
寄存器EAX通常称为累加器(Accumulator),⽤累加器进⾏的操作可能需要更少时间。
可⽤于乘、除、输⼊/输出等操作,使⽤频率很⾼;寄存器EBX称为基地址寄存器(Base Register)。
它可作为存储器指针来使⽤;寄存器ECX称为计数寄存器(Count Register)。
在循环和字符串操作时,要⽤它来控制循环次数;在位操作中,当移多位时,要⽤CL来指明移位的位数;寄存器EDX称为数据寄存器(Data Register)。
在进⾏乘、除运算时,它可作为默认的操作数参与运算,也可⽤于存放I/O的端⼝地址。
在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,⽽且也可作为指针寄存器,所以,这些32位寄存器更具有通⽤性。
2、变址寄存器32位CPU有2个32位通⽤寄存器ESI和EDI。
1.除了单片机这一名称之外,单片机还可称为微控制器和嵌入式控制器。
2.单片机与普通微型计算机的不同之处在于其将CPU、存储器、I/O口三部分集成于一块芯片上。
3.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为2µs。
4.A T89C51单片机的机器周期等于12个时钟振荡周期。
5.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为28H和88H。
6.片内字节地址为2AH单元的最低位的位地址是50H;片内字节地址为88H单元的最低位的位地址是88H。
7.若A中的内容为63H,那么,P标志位的值为0。
8.A T89C51单片机复位后,R4所对应的存储单元的地址为04H,因上电时PSW = 00H。
这时当前的工作寄存器区是0组工作寄存器区。
9.内部RAM中,可作为工作寄存器区的单元地址为00H~1F H。
10.通过堆栈操作实现子程序调用,首先要把PC的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到PC。
11.AT89C51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为A T89C51单片机的PC是16位的,因此其寻址的范围为64KB。
12.在基址加变址寻址方式中,以A作为变址寄存器,以PC或DPTR作为基址寄存器。
13.指令格式是由操作码和操作数组成,也可仅由操作码组成。
14.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器1031H单元的内容送入累加器A中。
15.在AT89C51单片机中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
16.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的地址。
17.外部中断1的中断入口地址为0013H 。
定时器1的中断入口地址为001BH。
18.若(IP)= 00010100B,则优先级最高者为外部中断1,最低者为定时器T1。
第一章一、填空1.计算机系统主要由()、()两大部分组成。
2.计算机硬件子系统由()、()、()、()、()3.计算机软件子系统由()、()4.计算机应用软件由()、()、()、()5.计算机系统软件由()、()、()、()6.计算机的主要技术指标()、()、()7.计算机发展五代主要代表计算机()、()、()、()、()8.计算机未来发展方向()、()、()、()9.计算机按功能可分为()、()、()10。
( )与()、输入输出接口和系统总线合称为计算机主机。
11.用高级语言编写的程序称为()程序,经编译程序或解释程序翻译后成为()程序.12.程序设计语言一般分为三类()、()、()。
13.数控机床是计算机在()方面的应用,邮局自动分拣信件是计算机在()方面的应用.14.现代计算机主要采用()结构作为计算机硬件之间的连接方式。
15.用二进制代码表示的计算机语言称为(),用助记符编写的语言称为()。
二、选择题1.“从中间开始"设计的“中间"目前多数在()A.传统机器语言机器级与操作系统机器级之间B。
传统机器语言机器级与微程序机器级之间C.微程序机器级与汇编语言机器级之间D。
操作系统机器级与汇编语言机器级之间2.在计算机系统设计中,比较好的方法是()A .从上向下设计B.从下向上设计C .从两头向中间设计D .从中间开始向上、向下设计第二章1。
R-S触发器逻辑框图是什么?它有几个输入端各是什么?它有几个输出端?各是什么?2。
D触发器逻辑框图是什么?它有哪几个同步输入端?哪几个异步输入端?它有哪几个输出端?3。
二—四译码器的工作原理?(如图)4。
并行四位寄存器的工作原理?(如图)1. 三态开关的工作原理: D IN D OUTE5.半加器本位和逻辑表达式6. 半加器进位逻辑表达式。
7.全加器本位和逻辑表达式是: 8 。
全加器向高位进位的逻辑表达式:9.SN74181是什么芯片?作什么运算取决哪些引脚? 10. SN74182是什么芯片?作用?11.用SN74181芯片组成一个16位运算器,片内并行进位片间串行进位。