zoukankan      html  css  js  c++  java
  • [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒

    注意:本文经过原作者授权转译,转载请标明出处

    原文地址:http://mrjester.hapisan.com/04_MC68/Sect07Part01/Index.html

    条件允许建议阅读原文,网上非中文资料还是较多,当作锻炼英文岂不美哉
    翻译若有不足之处欢迎批评指正

    译文:


    "自尊是人类最大的弱点,因为它是有条件的" ---- 阿尔伯特 艾利斯 (Albert Ellis, 1913-2007),美国临床心理学家

    简介

    这些S**指令和那些有条件分支指令差不多,它们都根据类似的条件来执行动作。不同之处在于,它们不会去分支跳转,而是会把目的操作数中的都设置成1或是擦除成0

    SEQ 指令

    SEQ (Set on EQual) - 相等时置1

    Z (零结果) 状态标志会被检测,如果是1的话,目的操作数会被置为1 (%11111111),如果Z0的话,目的操作数会被置0 (%00000000)

    例子

    这是个简单的例子:

        tst.l      d0
        seq.b      d1

    TST指令会去检查d0的内容是不是0,检查的长度是长字

    • 如果d0的内容是00000000,那么Z会被设置为1,于是SEQ指令就会把d1的内容设置为000000FF
    • 如果d0的内容不是00000000,那么Z会被设置为0,于是SEQ指令就会把d1的内容设置为00000000

    真是再简单不过了

    SNE 指令

    SNE (Set on Not Equal) - 不相等时置1

    Z (零结果) 状态标志会被检测,如果是1的话,目的操作数会被置为0 (%00000000),如果Z0的话,目的操作数会被置1 (%11111111)

    例子

        tst.l      d0
        sne.b      d1

    TST指令会去检查d0的内容是不是0,检查的长度是长字

    • 如果d0的内容是00000000,那么Z会被设置为1,于是SNE指令就会把d1的内容设置为00000000
    • 如果d0的内容不是00000000,那么Z会被设置为0,于是SNE指令就会把d1的内容设置为000000FF

    SEQ差不多是反过来的

    SPL 指令

    SPL (Set on PLus) - 非负结果时置1

    N (负结果) 状态标志会被检测,如果是1的话,目的操作数会被置为0 (%00000000),如果N0的话,目的操作数会被置1 (%11111111)

    例子

        tst.b      d0
        spl.b      d1

    TST指令会去检查d0的内容是正还是负,检查的长度是字节

    • 如果d0的内容是在007F (正数) 之间,那么N会被设置为0,于是SPL指令就会把d1的内容设置为000000FF
    • 如果d0的内容是在80FF (负数) 之间,那么N会被设置为1,于是SPL指令就会把d1的内容设置为00000000

    SMI 指令

    SMI (Set on MInus) - 负结果时置1

    N (负结果) 状态标志会被检测,如果是1的话,目的操作数会被置为1 (%11111111),如果N0的话,目的操作数会被置0 (%00000000)

    例子

        tst.b      d0
        smi.b      d1

    TST指令会去检查d0的内容是正还是负,检查的长度是字节

    • 如果d0的内容是在007F (正数) 之间,那么N会被设置为0,于是SMI指令就会把d1的内容设置为00000000
    • 如果d0的内容是在80FF (负数) 之间,那么N会被设置为1,于是SMI指令就会把d1的内容设置为000000FF

    它和SPL也是反过来的

    目录
    上一篇:[转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 陆 - 条件分支 | 8. 家庭作业答案 - 5
    下一篇:[转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 柒 - 条件指令及其他 | 2. SVC, SVS, ST & SF 指令

  • 相关阅读:
    两个有序链表的合并
    Perl学习笔记
    生信-基本概念
    生信-序列比较dp[未完成]
    PAT 1091 Acute Stroke [难][bfs]
    PAT 1038 Recover the Smallest Number[dp][难]
    PAT 1078 Hashing[一般][二次探查法]
    PAT 1122 Hamiltonian Cycle[比较一般]
    PAT 1151 LCA in a Binary Tree[难][二叉树]
    PAT 1148 Werewolf
  • 原文地址:https://www.cnblogs.com/strawhatboy/p/12529714.html
Copyright © 2011-2022 走看看