$88和$0088有什么区别

2019-07-16 06:43发布

请问,$88和$0088有什么区别,为什么一个是直接寻址一个是扩展寻址呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
wangka
1楼-- · 2019-07-16 10:01
直接寻址指令,字长二字节,它可以对存储器的起始256个地址($0000~$00FF),叫内存直接页(或内存第0页)进行访问。指令的第一个字节是操作码,第二个字节是操作数地址。在直接寻址中,CPU自动把$00作为操作数高位地址,第二个字节作为操作数的低位地址,其寻址范围为$0000~$00FF。下述指令属于DIR寻址方式。
             LDA      $60       //将存储单元$60中的数取至累加器A
        BRSET和BRCLR是2条很特别的3字节指令,它们用直接寻址方式取得操作数,用相对寻址方式指明转移目的地址。例如:
             BRCLR     #3,$50, A1   //若存储单元$50的第3位=0则转至标号A1处
             BRSET      #3,$50, A1   //若存储单元$50的第3位=1则转至标号A1处
(4) 扩展寻址方式(EXT,Extended addressing mode)

        扩展寻址指令是三字节指令,可访问存储器中的任何地址。在这种指令中,第一个字节是操作码,第二个字节是操作数的高字节地址,第三个字节是低字节地址。扩展寻址是相对于直接寻址方式而言的,其寻址范围为$0000~$FFFF,比直接寻址范围大得多。下述指令属于EXT寻址方式,因为它的地址已经超过了 DIR寻址方式的范围。
             LDA     $023D       //将存储单元$023D中的数取至累加器A
doublelucky
2楼-- · 2019-07-16 11:29
刚刚开始学习,感觉什么都看不懂,对于你的回复真的非常感谢

一周热门 更多>