单片机(51)的汇编和计算机的汇编的区别:单片机(51)用的是8位的Intel汇编(8051),现在的计算机一般用的是64/32位的Intel汇编(x86),具体区别:1、寄存器结构不同;2、地址空间和寻址方式不同;3、支持位寻址不同;4、支持指令集扩展不同;5、起始地址不同。
一、单片机(51)的汇编和计算机的汇编的区别
单片机(51)用的是8位的Intel汇编(8051),现在的计算机一般用的是64/32位的Intel汇编(x86)。因为都是intel的,intel是很强调向前兼容的,所以很多指令比较相像,只有位数的差别,但是随着更新指令差异肯定不仅限于位数。
- 寄存器结构不同:这应该是最基本的区别。x86实模式下通用寄存器是AX,BX,CX,DX,索引寄存器SI,DI,栈帧寄存器SP,BP,段寄存器CS, DS, ES, SS。51的寄存器有通用的R0-R7,ACC,B, DPTR。还有用于控制外设的SFR。
- 地址空间和寻址方式不同:x86是冯诺依曼结构,内存统一寻址,实模式下地址通过段寄存器和偏移生成20位地址,统一使用MOV寻址。51是哈弗结构,代码和数据在不同的地址空间,内部使用MOV, 内部扩展使用MOV+@,外部数据使用MOVX,代码空间使用MOVC80。
- 支持位寻址不同:51支持位寻址,x86不支持
- 支持指令集扩展不同:x86支持指令集扩展,8051没有
- 起始地址不同:x86起始地址是FFFF:0000,51的起始地址是0000。
二、Intel汇编(8051)
8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
8051单芯片是同步式的顺序逻辑系统,整个系统的工作完全是依赖系统内部的时脉信号,用以来产生各种动作周期及同步信号。在8051单片机中已内建时钟产生器,在使用时只需接上石英晶体谐振器(或其它振荡子)及电容,就可以让系统产生正确的时钟信号。
三、Intel汇编(x86)
Intel x86是英特尔公司于1978年推出的16位微处理器。x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。Intel在早期以80×86这样的数字格式来命名处理器,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”。x86的32位架构一般又被称作IA-32,全名为“Intel Architecture, 32-bit”。其64位架构由AMD率先推出,并被称为“AMD64”。之后也被Intel采用,被其称为“Intel 64”。一般也被称作“x86-64”、“x64”。
x86架构是重要地可变指令长度的CISC(复杂指令集计算机,Complex Instruction Set Computer)。字组(word, 4字节)长度的存储器访问允许不对齐存储器地址,字组是以低位字节在前的顺序储存在存储器中。向前兼容性一直都是在x86架构的发展背后一股驱动力量(设计的需要决定了这项因素而常常导致批评,尤其是来自对手处理器的拥护者和理论界,他们对于一个被广泛认为是是落后设计的架构的持续成功感到不解)。但在较新的微架构中,x86处理器会把x86指令转换为更像RISC的微指令再予执行,从而获得可与RISC比拟的超标量性能,而仍然保持向前兼容。x86架构的处理器一共有四种执行模式,分别是真实模式,保护模式,系统管理模式以及虚拟V86模式。
延伸阅读
8051寻址方式
- 立即寻址:操作数包含在指令字节中,指令操作码后面字节的内容就是操作数本身。
- 直接寻址:1内部数据存储器的低128个字节单元(00H-7FH)2位地址空间;3专用功能寄存器
- 寄存器寻址:由指令指出某一个寄存器中的内容作为操作数,这种寻址方式称为寄存器寻址。
- 寄存器间接寻址:由指令指出某一个寄存器的内容作为操作数的地址。
- 基址寄存器加变址寄存器间接寻址:用于访问程序存储器中的数据表格。
- 相对寻址:以PC的内容作为基地址,加上指令中给定的偏移量所得结果作为转移地址,只适用于双字节转移指令。
- 位寻址:对片内RAM的位寻址区和某些可进行位寻址的特殊功能寄存器中的任一二进制位进行操作时的寻址方式。
文章标题:单片机(51)的汇编和计算机的汇编有什么区别,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/46584