68000/8微处理器的软件解析
1 引言
68000/8微处理器的架构虽然与其前身6800系列有着明显的区别,但在软件方面却呈现出一种演变而非彻底的断裂。6809指令集(见相关章节)所展现的许多特点也在68000软件中得以体现,这并不令人惊讶,因为两者都支持高级语言编译,具有广泛的基于栈的操作和丰富的计算地址模式。
2 指令集设计
2.1 汇编级软件的用户友好性
尽管68000架构与其前身有着显著的不同,但其软件设计者特别注重使汇编级软件对用户友好。68000指令集仅有56个主要指令,但通过对某些指令的变体增加了29个助记符(例如,MOVE和MOVEQ分别对应于MOVE和快速MOVE)。这种设计使得指令更加灵活和易于使用。
大多数指令是正交的,这意味着它们以相同的方式适用于一组中的所有寄存器(数据或地址)。指令范围内的“语法规则”相当一致,只有相对较小的怪癖。例如,MOVE指令可以用于8位、16位或32位数据包,从内存中的任何位置、任何寄存器(除了PC)或立即数复制到任何可修改的内存位置或任何寄存器(除了PC)。
2.2 操作码和指令组合
使用完整的16位操作码提供了广泛的处理许多指令:操作码:寄存器组合的可能性。例如,ADD.B 0C000h,D0(将内存地址0C000h中的字节加到寄存器D0中)和MOVE.L D0,D1(将寄存器D0中的32位数据复制到寄存器D1中)等指令可以有效地处理复杂的操作。
2.3 示例指令
以下是几种常见指令的示例:
-
固有指令 :没有