• [转译][马基 杰斯特(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 指令

  • 相关阅读:
    工作总结
    JSON数据使用
    DataTable知识
    树形结构菜单
    区域树前后台
    跨域总结
    工作一年感想
    项目整体架构分析
    springboot 和 mongdb连接问题 Exception in thread "main" com.mongodb.MongoSecurityException:
    go函数、方法、接口笔记
  • 原文地址:https://www.cnblogs.com/strawhatboy/p/12529714.html
Copyright © 2020-2023  润新知