
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
学习一个汇编语言需要掌握3个要点:CPU 的可编程寄存器结构、寻址方式及指令系统、伪指令。
1、COMETCPU 的可编程寄存器 COMETCPU 字长 16 位,采用从左到右的编号。bit0 在最左边(最高位),bit15 在最右边(最低位)
1)16 位通用寄存器五个:
GR0、GR1、GR2、GR3、GR4
通用功能:各种算术逻辑运算
特殊功能:除 GR0 外都可作变址寄存器(地址指针)XR,GR0 可看成累加器。
GR4 兼作堆栈指针(SP)
2)指令计数器 PC 一个(16位)
存放正在执行的那条指令的第 1 个字的地址(一条指令占二个字),指令结束时,PC 中存放下一条指令的地址(一般为原指令地址 +2 )。
3)状态寄存器 FR 一个(二位)
可以把 FR0 看成 SF(符号位),FR1 看成 ZF(零位位)
除了算术逻辑运算指令(包括移位指令)外,LEA 指令也会影响 FR
2、符号指令写法与寻址方式
OP GR,ADR[,XR]
其中 OP 为操作码;GR 为五个通用寄存器 GR0~GR4 之一;ADR 为一个 16 位的地址码;XR 为四个变址寄存器 GR1~GR4 之一,[ ]表示可以省略。
1)直接寻址:当 [,XR] 省略时,为直接寻址。
2)变址寻址:有效地址 E = ADR +(XR),当 ADR = 0 时,为寄存器间接寻址。
3)立即数寻址:Casl 没有立即数寻址。但在 LEA 指令中,当 [,XR] 省略时,可作立即数传送。没有立即数运算指令。
4)寄存器寻址:Casl 也没有寄存器寻址(对源操作数)。但 LEA 指令当 ADR = 0 时,可作寄存器寻址(只用于数据传送)。
3、Casl指令系统
1)取数指令 LD:内存→寄存器
LD GR,ADR[,XR]
2)存数指令 ST:寄存器→内存
ST GR,ADR[,XR]
3)加法 ADD、减法 SUB、逻辑与 AND、逻辑或OR、逻辑异或 EOR指令:
内存 OP 寄存器→寄存器
4)算术比较 CPA:
两个带符号数比较,结果不回送,只影响标志位。
CPA GR,ADR[,XR]
5)逻辑比较 CPL:两个无符号数比较,结果不回送,只影响标志位。
CPL GR,ADR[,XR]
6)算术左移 SLA、算术右移 SRA:把操作数看成带符号数。对寄存器操作数进行移位(GR 的第 0 位——符号位不变。右移时空出的其余位补与第 0 位相同的 1 或 0 ;左移时空出的位补 0 ),位数由有效地址 E 决定。
7)逻辑左移 SLL、逻辑右移 SRL:把操作数看成无符号数。对寄存器操作数进行移位(不管左右移,GR 空出的位补 0 ),位数由有效地址 E 决定。