本帖最后由 9876543210 于 2017-5-14 20:11 编辑
原理不算复杂,下面的是有调试输出指令执行过程的。
变量名 | 类 型 | 静态 | 数组 | 备 注 | 被加数 | 字节型 | | | 加数 | 字节型 | | | 和 | 字节型 | | | 置随机数种子 ()计次循环首 (1000000, )被加数 = 取随机数 (0, 255 )加数 = 取随机数 (0, 255 )判断循环首 (到字节 (被加数 + 加数 ) ≠ 被加数 + 加数 )被加数 = 取随机数 (0, 255 )加数 = 取随机数 (0, 255 )判断循环尾 ()和 = 加 (被加数, 加数 )如果真 (和 ≠ 到字节 (被加数 + 加数 )) 调试输出 (“运算出错!”)返回 (0 )标准输出 (, “结果:” + 到文本 (被加数) + “+” + 到文本 (加数) + “=” + 到文本 (和) + #换行符 )计次循环尾 ()返回 (0 )|
加 | 字节型 | | |
被加数 | 字节型 | | | | 加数 | 字节型 | | | | 进位输入 | 逻辑型 | | | | 进位输出 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 计数指针 | 整数型 | | | 判断结果 | 逻辑型 | | 256 | 只读内存 | 字节集 | | | 和 | 字节型 | | | 循环计数 | 整数型 | | | 文本 | 文本型 | | |
只读内存 = { 0, 49, 0, 8, 51, 8, 0, 52, 8, 49, 53, 51, 53, 54, 52, 8, 55, 8, 0, 56, 0, 55, 57, 56, 25, 59, 25, 54, 60, 54, 25, 61, 54, 59, 62, 60, 62, 16, 61, 54, 64, 54, 25, 65, 25, 64, 66, 65, 57, 67, 66, 67, 68, 67, 1, 96, 1, 9, 98, 9, 1, 99, 9, 96, 100, 98, 100, 101, 99, 9, 102, 9, 1, 103, 1, 102, 104, 103, 68, 105, 68, 101, 106, 101, 68, 107, 101, 105, 108, 106, 108, 17, 107, 101, 110, 101, 68, 111, 68, 110, 112, 111, 104, 113, 112, 113, 114, 113, 2, 116, 2, 10, 118, 10, 2, 119, 10, 116, 120, 118, 120, 121, 119, 10, 122, 10, 2, 123, 2, 122, 124, 123, 114, 125, 114, 121, 126, 121, 114, 127, 121, 125, 128, 126, 128, 18, 127, 121, 130, 121, 114, 131, 114, 130, 132, 131, 124, 133, 132, 133, 134, 133, 3, 136, 3, 11, 138, 11, 3, 139, 11, 136, 140, 138, 140, 141, 139, 11, 142, 11, 3, 143, 3, 142, 144, 143, 134, 145, 134, 141, 146, 141, 134, 147, 141, 145, 148, 146, 148, 19, 147, 141, 150, 141, 134, 151, 134, 150, 152, 151, 144, 153, 152, 153, 154, 153, 4, 156, 4, 12, 158, 12, 4, 159, 12, 156, 160, 158, 160, 161, 159, 12, 162, 12, 4, 163, 4, 162, 164, 163, 154, 165, 154, 161, 166, 161, 154, 167, 161, 165, 168, 166, 168, 20, 167, 161, 170, 161, 154, 171, 154, 170, 172, 171, 164, 173, 172, 173, 174, 173, 5, 176, 5, 13, 178, 13, 5, 179, 13, 176, 180, 178, 180, 181, 179, 13, 182, 13, 5, 183, 5, 182, 184, 183, 174, 185, 174, 181, 186, 181, 174, 187, 181, 185, 188, 186, 188, 21, 187, 181, 190, 181, 174, 191, 174, 190, 192, 191, 184, 193, 192, 193, 194, 193, 6, 196, 6, 14, 198, 14, 6, 199, 14, 196, 200, 198, 200, 201, 199, 14, 202, 14, 6, 203, 6, 202, 204, 203, 194, 205, 194, 201, 206, 201, 194, 207, 201, 205, 208, 206, 208, 22, 207, 201, 210, 201, 194, 211, 194, 210, 212, 211, 204, 213, 212, 213, 214, 213, 7, 216, 7, 15, 218, 15, 7, 219, 15, 216, 220, 218, 220, 221, 219, 15, 222, 15, 7, 223, 7, 222, 224, 223, 214, 225, 214, 221, 226, 221, 214, 227, 221, 225, 228, 226, 228, 23, 227, 221, 230, 221, 214, 231, 214, 230, 232, 231, 224, 233, 232, 233, 24, 233, 255, 255, 255 } 变量循环首 (0, 7, 1, 循环计数 ) 判断结果 [循环计数 + 1 ] = 位与 (被加数, 左移 (1, 循环计数 )) ≠ 0 判断结果 [循环计数 + 9 ] = 位与 (加数, 左移 (1, 循环计数 )) ≠ 0 变量循环尾 ()判断结果 [26 ] = 进位输入 判断循环首 (只读内存 [计数指针 + 1 ] ≠ 255 且 只读内存 [计数指针 + 2 ] ≠ 255 且 只读内存 [计数指针 + 3 ] ≠ 255 ) 文本 = “”文本 = 文本 + “ 入口地址A:” + 到文本 (只读内存 [计数指针 + 1 ])文本 = 文本 + “ 入口地址B:” + 到文本 (只读内存 [计数指针 + 3 ])文本 = 文本 + “ 出口地址:” + 到文本 (只读内存 [计数指针 + 2 ])文本 = 文本 + “ 入口地址A 读出:” + 到文本 (判断结果 [只读内存 [计数指针 + 1 ] + 1 ])文本 = 文本 + “ 入口地址B 读出:” + 到文本 (判断结果 [只读内存 [计数指针 + 3 ] + 1 ])判断结果 [只读内存 [计数指针 + 2 ] + 1 ] = 判断结果 [只读内存 [计数指针 + 1 ] + 1 ] = 假 且 判断结果 [只读内存 [计数指针 + 3 ] + 1 ] = 假 文本 = 文本 + “ 判断结果(全假出真,有真出假):” + 到文本 (判断结果 [只读内存 [计数指针 + 2 ] + 1 ]) + “ 并送回出口地址。”输出调试文本 (文本 ) 计数指针 = 计数指针 + 3 判断循环尾 ()进位输出 = 判断结果 [25 ] 变量循环首 (0, 7, 1, 循环计数 ) 和 = 位或 (和, 左移 (到字节 (判断结果 [循环计数 + 17 ]), 循环计数 )) 变量循环尾 ()调试输出 (判断结果 )返回 (和 )
|