LC-3 汇编语言 指令集

本文详细解读了LC-3汇编语言中的运算类指令如ADD、AND和NOT,数据搬移指令如LD、ST,以及控制类指令BR和JMP等。还包括伪操作如.ORIG、.FILL和.END,以及注释部分对各类指令的详细说明。

目录

碎碎念念

LC-3汇编语言

运算类指令

ADD (addition)

AND (Bit-wise logical AND)

NOT (Bit-wise complement) 

数据搬移类指令

LD (load)

ST (store)

LDI (load indirect)

STI (store indirect)

LDR (load base+offset)

STR (store base+offset)

LEA (load effective address)

控制类指令

BR (conditional branch)

JMP (jump)

RET (return)

JSR (jump to subroutine)

JSRR

RTI (return from interrupt)

TRAP (system call)

伪操作

.ORIG 

.FILL

.BLKW

.STRINGZ

.END

注释

DR

SR

BaseR

imm

LABEL

trapvect8

n z p


碎碎念念

我们在之前的文章中介绍了LC-3的指令构成还有一些注释含义,以及指令的具体讲解,这次我们说说LC-3的汇编语言,文章后面是注释。

LC-3汇编语言

运算类指令

ADD (addition)

寄存器寻址:

ADD DR,SR1,SR2

将SR1与SR2相加的结果放在DR中; 

立即数寻址:

ADD DR,SR1,imm

将SR1与立即数imm相加的结果放在DR中。

AND (Bit-wise logical AND)

按位相与:

寄存器寻址:

AND DR,SR1,SR2

将SR1与SR2按位相与的结果放在DR中; 

立即数寻址:

AND DR,SR1,imm

将SR1与立即数imm按位相与的结果放在DR中。  

NOT (Bit-wise complement) 

按位取反:

NOT DR,SR

将SR按位取反的结果放在DR。 

数据搬移类指令

LD (load)

读取数据:

相对寻址(PC-relative):

LD DR,LABEL

将标号LABEL所指向的内容存进DR。 

ST (store)

写入数据:

相对寻址(PC-relative):

ST SR,LABEL

将SR的内容存进标号LABEL所指向内存单元。

LDI (load indirect)

读取数据:

间接寻址(indirect):

LDI DR,LABEL

将标号LABEL所指向的内容作为地址,将此地址所指向的内容存进DR。 

STI (store indirect)

写入数据:

间接寻址(indirect):

STI SR,LABEL

将标号LABEL所指向的内容作为地址,将SR的内容存进此地址所指向的内存单元。 

LDR (load base+offset)

读取数据:

基址偏移寻址(base+offset):

LDR DR,BaseR,imm

立即数imm和BaseR的内容相加得到一个地址,将该地址指向的内容存进DR。 

STR (store base+offset)

写入数据:

基址偏移寻址(base+offset):

STR SR,BaseR,imm

</
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员萌芽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值