Appearance
FizzBuzz1To100
1から100までを走査し、3の倍数をFizz、5の倍数をBuzz、両方の倍数をFizzBuzzとして出力します。剰余、比較、条件分岐、ループのサンプルです。
json
{
"version": 1,
"comment": "1から100までを走査し、3の倍数をFizz、5の倍数をBuzz、両方の倍数をFizzBuzzとして出力します。剰余、比較、条件分岐、ループのサンプルです。",
"data": [
{
"name": "__i",
"type": "SystemInt32",
"value": 0
},
{
"name": "__i_next",
"type": "SystemInt32",
"value": 0
},
{
"name": "__remainder",
"type": "SystemInt32",
"value": 0
},
{
"name": "__zero",
"type": "SystemInt32",
"value": 0
},
{
"name": "__one",
"type": "SystemInt32",
"value": 1
},
{
"name": "__three",
"type": "SystemInt32",
"value": 3
},
{
"name": "__five",
"type": "SystemInt32",
"value": 5
},
{
"name": "__fifteen",
"type": "SystemInt32",
"value": 15
},
{
"name": "__hundred",
"type": "SystemInt32",
"value": 100
},
{
"name": "__condition",
"type": "SystemBoolean",
"value": false
},
{
"name": "__fizz",
"type": "SystemString",
"value": "Fizz"
},
{
"name": "__buzz",
"type": "SystemString",
"value": "Buzz"
},
{
"name": "__fizzbuzz",
"type": "SystemString",
"value": "FizzBuzz"
}
],
"code": [
{
"name": "_start",
"export": true,
"instructions": [
{
"op": "PUSH",
"operand": "__one"
},
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "COPY"
},
{
"op": "JUMP",
"operand": "_loop"
}
]
},
{
"name": "_loop",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "PUSH",
"operand": "__hundred"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_LessThanOrEqual__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_end"
},
{
"op": "JUMP",
"operand": "_check_fifteen"
}
]
},
{
"name": "_check_fifteen",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "PUSH",
"operand": "__fifteen"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Remainder__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__remainder"
},
{
"op": "PUSH",
"operand": "__zero"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Equality__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_check_three"
},
{
"op": "PUSH",
"operand": "__fizzbuzz"
},
{
"op": "EXTERN",
"signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
"argumentCount": 1
},
{
"op": "JUMP",
"operand": "_increment"
}
]
},
{
"name": "_check_three",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "PUSH",
"operand": "__three"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Remainder__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__remainder"
},
{
"op": "PUSH",
"operand": "__zero"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Equality__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_check_five"
},
{
"op": "PUSH",
"operand": "__fizz"
},
{
"op": "EXTERN",
"signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
"argumentCount": 1
},
{
"op": "JUMP",
"operand": "_increment"
}
]
},
{
"name": "_check_five",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "PUSH",
"operand": "__five"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Remainder__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__remainder"
},
{
"op": "PUSH",
"operand": "__zero"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Equality__SystemInt32_SystemInt32__SystemBoolean",
"argumentCount": 2,
"return": "__condition"
},
{
"op": "JUMP_IF_FALSE",
"operand": "_print_number"
},
{
"op": "PUSH",
"operand": "__buzz"
},
{
"op": "EXTERN",
"signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
"argumentCount": 1
},
{
"op": "JUMP",
"operand": "_increment"
}
]
},
{
"name": "_print_number",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "EXTERN",
"signature": "UnityEngineDebug.__Log__SystemObject__SystemVoid",
"argumentCount": 1
},
{
"op": "JUMP",
"operand": "_increment"
}
]
},
{
"name": "_increment",
"export": false,
"instructions": [
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "PUSH",
"operand": "__one"
},
{
"op": "EXTERN",
"signature": "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32",
"argumentCount": 2,
"return": "__i_next"
},
{
"op": "PUSH",
"operand": "__i"
},
{
"op": "COPY"
},
{
"op": "JUMP",
"operand": "_loop"
}
]
},
{
"name": "_end",
"export": false,
"instructions": []
}
]
}