美文网首页
6502芯片:指令集(二)(The Instruction Se

6502芯片:指令集(二)(The Instruction Se

作者: 苹果王子刘泽庆 | 来源:发表于2021-05-14 22:41 被阅读0次

逻辑操作指令(Logical)

下面的这些指令可以对累加器的内容和存储在内存中的另一个值执行逻辑操作。BIT指令执行一个逻辑与来测试内存值中位的存在,以设置标记,但不保存结果。

指令名称 指令功能 影响标志位
AND 逻辑与(Logical AND) N,Z
EOR 逻辑或(Exclusive OR ) N,Z
ORA 逻辑包含或(Logical Inclusive OR) N,Z
BIT 位测试(Bit Test) N,V,Z

算术操作指令(Arithmetic)

算术运算操作指令用来对累加器中的数据执行加法和减法运算。而比较运算操作指令则用来实现累加器、X或Y寄存器与内存中数值的比较。

指令名称 指令功能 影响标志位
ADC 带进位的加法(Add with Carry) N,V,Z ,C
SBC 带进位的减法(Subtract with Carry ) N,V,Z ,C
CMP 与累加器比较运算(Compare accumulator) N,Z ,C
CPX 与X寄存器比较运算(Compare X register) N,Z,C
CPY 与Y寄存器比较运算(Compare Y register) N,Z,C

增量/减量操作指令(Increments & Decrements)

这些指令通过适当的设置负位标志位(N)和零标志位(Z)实现内存地址或X、Y寄存器的增量或减量操作。

指令名称 指令功能 影响标志位
INC 内存地址增量操作(Increment a memory location) N,Z
INX X寄存器值增量操作(Increment the X register) N,Z
INY Y寄存器值增量操作(Increment the Y register) N,Z
DEC 内存地址减量操作(Decrement a memory location) N,Z
DEX X寄存器减量操作(Decrement the X register) N,Z
DEY Y寄存器减量操作(Decrement the Y register) N,Z

移位操作指令(Shifts)

这些操作指令使存储单元或累加器中的位移位一位。旋转指令使用进位标志(C)的内容来填充由移位产生的空缺位置并捕获溢出位。算术和逻辑移位将适当地移位0或1位,但捕获进位标志(C)中的溢出位。

指令名称 指令功能 影响标志位
ASL 算术左移位操作(Arithmetic Shift Left) N,Z,C
LSR 逻辑左移位操作(Logical Shift Right) N,Z,C
ROL 左移位操作(Rotate Left) N,Z,C
ROR 右移位操作(Rotate Right) N,Z,C

跳转和调用操作指令(Jump & Calls)

这些操作指令可以通过修改程序计数器实现从正常顺序执行进程中断。JSR指令先将程序计数器(PC)中原有的数据压入堆栈然后跳转到新位置执行子程序,执行结果通过RTS指令完成子程序执行结果返回调用。

指令名称 指令功能 影响标志位
JMP 跳转到另一个位置(Jump to another location)
JSR 跳转到子程序(Jump to a subroutine)
RTS 从子程序返回(Return from subroutine)

相关文章

网友评论

      本文标题:6502芯片:指令集(二)(The Instruction Se

      本文链接:https://www.haomeiwen.com/subject/xngxjltx.html