文档介绍:(商务智能 )培训课件
华中科技大学计算机科学与技术学院
语言课程设计报告
题目 : 模拟器与汇编程序设计
目 录
一、系统需求分析 1
二、总体设{5,3,2,8,6,9,1,7,4,0}
如果要将字节数据块
num
中第
5 个单元的值
(即下标为
4 的元素 )取到寄存
器 C,指令如下:
LOADI
LOADB
后面的指令 LOADW
G
C
、STOREB 和
5
num
STOREW
在操作上与此指令类似。
(10) 取双字节数据指令:
LOADW
reg0
symbol
功能:从双字节数据或双字节数据块
symbol
中取一个双字节的数据存入寄
存器
reg0
,所取的双字节数据在数据块
symbol
中的位置由寄存器
G 的值决定。
(11) 存字节数据指令:
STOREB
reg0
symbol
功能:将寄存器
reg0
的值存入字节数据或字节数据块
symbol
中的某个单
元,存入单元的位置由寄存器
G 的值决定。用
C 的语法可将此指令的功能描述
为:
symbol[G] = reg0
(12) 存双字节数据指令:
STOREW
reg0
symbol
功能:将寄存器
reg0
的值存入双字节数据或双字节数据块
symbol
中的某
个单元,存入单元的位置由寄存器
G 的值决定。
(13) 取立即数指令:
LOADI
reg0
immediate
功能:将指令中的立即数 immediate 存入寄存器
reg0
。立即数被当作
16
位有符号数,超出 16 位的高位部分被截掉。例如:
LOADI B 65535
寄存器 B 的值为 -1 。
LOADI B 65537
寄存器 B 的值为 1。
空操作指令: NOP
功能:不执行任何操作,但耗用一个指令执行周期。
(15)
控制台输入指令: IN
reg0
0
功能:从输入端口 (即键盘输入缓冲区 )取一个字符数据,存入寄存器
reg0 。
(16)
控制台输出指令: OUT
reg0
15
功能:将寄存器 reg0 的低字节作为字符数据输出到输出端口
(即显示器 )。
(17)
加运算指令: ADD
reg0
reg1
reg2
功能:将寄存器 reg1 的值加上 reg2 的值,结果存入寄存器 reg0 。如果结
果超过 16
位有符号数的表示范围,将发生溢出,使程序状态字的溢出标志位
o
置为 1 ;如果未发生溢出,则使程序状态字的溢出标志位
o 置为 0。
(18)
加立即数指令: ADDI
reg0
immediate
功能:将寄存器 reg0 的值加上立即数 immediate ,结果仍存入寄存器 reg0 。
如果结果超过 16 位有符号数的表示范围,将发生溢出,使程序状态字的溢出标
志位
o 置为
1;如果未发生溢出,则使程序状态字的溢出标志位
o 置为
0 。
(19) 减运算指令:
SUB
reg0
reg1
reg2
功能:将寄存器
reg1
的值减去
reg2
的值,结果存入寄存器
reg0 。如果结
果超过 16 位有符号数的表示范围,将发生溢出,使程序状态字的溢出标志位 o
置为
1 ;如果未发生溢出,则使程序状态字的溢出标志位
o 置为
0。
(20) 减立即数指令:
SUBI