WEB开发网
开发学院软件开发汇编语言 Casl汇编语言辅导 阅读

Casl汇编语言辅导

 2008-04-28 09:33:27 来源:WEB开发网   
核心提示:5)逻辑比较 CPL:两个无符号数比较,结果不回送,Casl汇编语言辅导(2),只影响标志位,CPL GR,存储区域不存在,但标号 LABLE 仍然有效,ADR[,XR]6)算术左移 SLA、算术右移 SRA:把操作数看成带符号数

5)逻辑比较 CPL:两个无符号数比较,结果不回送,只影响标志位。

CPL GR,ADR[,XR]

6)算术左移 SLA、算术右移 SRA:把操作数看成带符号数。对寄存器操作数进行移位(GR 的第 0 位——符号位不变。右移时空出的其余位补与第 0 位相同的 1 或 0 ;左移时空出的位补 0 ),位数由有效地址 E 决定。

SLA GR,ADR[,XR]
SRA

7)逻辑左移 SLL、逻辑右移 SRL:把操作数看成无符号数。对寄存器操作数进行移位(不管左右移,GR 空出的位补 0 ),位数由有效地址 E 决定。

SLL GR,ADR[,XR]
SRL

8)取有效地址指令LEA:E→寄存器

LEA GR,ADR[,XR]

该指令有几个特殊用途:

【例1】LEA GR0,41H 把立即数 41H 送给 GR0

【例2】LEA GR0,0,GR1 把寄存器 GR1 的内容送给 GR0

【例3】LEA GR1,1,GR1 寄存器 GR1 的内容加 1(相当于 8086 汇编中的 INC 指令)

9)无条件转移指令JMP与条件转移指令JPZ(不小于转)、JMI(小于转)、JNZ(不等于转)、JZE(等于转)

JMP
JPZ
JMI ADR[,XR]
JNZ
JZE

●当地址码中缺 [XR] 时,所有转移指令为直接转移( ADR 即为转移地址)

当地址码中有 [XR] 时,所有转移指令为间接相对接转移

●JPZ 与 JMI 根据符号位 FR0 作为判断条件

JNZ 与 JZE 根据零位位 FR1 作为判断条件

10)进栈 PUSH 与出栈 POP:

(1)进栈指令 PUSH:

PUSH ADR[,XR]

(SP)-1→SP,E→(SP)

(2)出栈指令 POP:

POP GR

((SP))→GR,(SP)+1→SP

注意:出栈指令的目的寄存器是 GR0~GR4,而进栈指令的源操作数不包括 GR0。 

11)子程序调用CALL与返回 RET指令

4、伪指令

1)START:程序开始

2)END:程序结尾

3)常量定义指令 DC:

此伪指令与其它汇编语言中的 DB 指令似。利用 DC 指令可定义:

(1)定义十进制常数:

十进制常数名 DC n

其中 -32768 < n ≤65535

(2)定义字符串常数:

字符串常数名 DC '字符串'

(3)定义十六进制常数:

十六进制常数名 DC #h

其中 0000 ≤ h ≤FFFF

(4)定义地址:

地址常数 DC LABLE

其中 LABLE 是程序中的地址标号

因为 Casl 没有立即数运算指令,所以需要与立即数进行算术逻辑运算时,都要将立即数定义为内存常数进行运算。

4)变量定义指令 DS:用来保留指定字数的存储区域

[LABLE] DS n

其中 n 是十进制常数(≥0),当 n=0 时,存储区域不存在,但标号 LABLE 仍然有效,即代表下一字的地址。

上一页  1 2 3 4 5 6 7  下一页

Tags:Casl 汇编语言 辅导

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接