开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5610|回复: 27
打印 上一主题 下一主题
收起左侧

[易语言纯源码] 易语言 逻辑判断实现的加法运算

[复制链接]
结帖率:60% (3/5)
跳转到指定楼层
楼主
发表于 2017-3-3 20:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   内蒙古自治区呼和浩特市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_启动子程序整数型 
变量名类 型静态数组备 注
被加数字节型 
加数字节型 
字节型 
置随机数种子 ()
计次循环首 (1000000, )
被加数 = 取随机数 (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  ' 读被加数到RAM
判断结果 [移位计数 + 9]位与 (加数, 左移 (1, 移位计数)) ≠ 0  ' 读加数到RAM
变量循环尾 ()
判断结果 [26] = 进位输入  ' 写进位输入到RAM
判断循环首 (只读内存 [计数指针 + 1] ≠ 255 只读内存 [计数指针 + 2] ≠ 255 只读内存 [计数指针 + 3] ≠ 255)  ' 访问255内存时表示判断已经结束,否则继续判断。
判断结果 [只读内存 [计数指针 + 2] + 1] = 判断结果 [只读内存 [计数指针 + 1] + 1] 判断结果 [只读内存 [计数指针 + 3] + 1]  ' 全假出真,有真出假。
计数指针 = 计数指针 + 3  ' 计数器加3
判断循环尾 ()
进位输出 = 判断结果 [25]  ' 从RAM中读出进位输出结果
变量循环首 (0, 7, 1, 移位计数)
和 = 位或 (和, 左移 (到字节 (判断结果 [移位计数 + 17]), 移位计数))  ' 从RAM中读出运算结果
变量循环尾 ()
返回 ()



结帖率:60% (3/5)
来自 20楼
 楼主| 发表于 2017-5-14 20:09:21 | 只看该作者   内蒙古自治区呼和浩特市
本帖最后由 9876543210 于 2017-5-14 20:11 编辑

原理不算复杂,下面的是有调试输出指令执行过程的。
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 
变量名类 型静态数组备 注
被加数字节型 
加数字节型 
字节型 
置随机数种子 ()
计次循环首 (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, 循环计数)  ' 将被加数以及加入送入RAM
判断结果 [循环计数 + 1]位与 (被加数, 左移 (1, 循环计数)) ≠ 0  ' 读被加数到RAM
判断结果 [循环计数 + 9]位与 (加数, 左移 (1, 循环计数)) ≠ 0  ' 读加数到RAM
变量循环尾 ()
判断结果 [26] = 进位输入  ' 写进位输入到RAM
判断循环首 (只读内存 [计数指针 + 1] ≠ 255 只读内存 [计数指针 + 2] ≠ 255 只读内存 [计数指针 + 3] ≠ 255)  ' 访问255内存时表示判断已经结束,否则继续判断。
文本 = “”
文本 = 文本 + “ 入口地址A:”到文本 (只读内存 [计数指针 + 1])
文本 = 文本 + “ 入口地址B:”到文本 (只读内存 [计数指针 + 3])
文本 = 文本 + “ 出口地址:”到文本 (只读内存 [计数指针 + 2])
文本 = 文本 + “ 入口地址A 读出:”到文本 (判断结果 [只读内存 [计数指针 + 1] + 1])
文本 = 文本 + “ 入口地址B 读出:”到文本 (判断结果 [只读内存 [计数指针 + 3] + 1])
判断结果 [只读内存 [计数指针 + 2] + 1] = 判断结果 [只读内存 [计数指针 + 1] + 1] 判断结果 [只读内存 [计数指针 + 3] + 1]  ' 全假出真,有真出假。
文本 = 文本 + “ 判断结果(全假出真,有真出假):”到文本 (判断结果 [只读内存 [计数指针 + 2] + 1])“ 并送回出口地址。”
输出调试文本 (文本)
' 延迟 (10)
计数指针 = 计数指针 + 3  ' 计数器加3
判断循环尾 ()
进位输出 = 判断结果 [25]  ' 从RAM中读出进位输出结果
变量循环首 (0, 7, 1, 循环计数)  ' 从RAM中读出运算结果
和 = 位或 (和, 左移 (到字节 (判断结果 [循环计数 + 17]), 循环计数))  ' 从RAM中读入和
变量循环尾 ()
调试输出 (判断结果)
返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库


回复 支持 反对

使用道具 举报

结帖率:98% (82/84)
沙发
发表于 2017-3-3 20:28:55 | 只看该作者   本地局域网

回帖奖励 +1 枚 精币

小白看不懂..
回复 支持 反对

使用道具 举报

结帖率:73% (11/15)
板凳
发表于 2017-3-3 20:55:40 | 只看该作者   辽宁省阜新市

回帖奖励 +1 枚 精币

厉害厉害 佩服
回复 支持 反对

使用道具 举报

结帖率:87% (20/23)

签到天数: 8 天

地板
发表于 2017-3-3 20:57:33 | 只看该作者   广东省东莞市

回帖奖励 +1 枚 精币

太复杂了,我看不动

点评

几条循环判断语句就能实现cpu的所有功能,cpu是由上亿个的逻辑门组成。   内蒙古自治区呼和浩特市  发表于 2017-3-3 21:56
这种方法比CPU的原理还简单,CPU能实现算法的这种判断都能实现,可移植到任何软硬件平台进行运算。   内蒙古自治区呼和浩特市  发表于 2017-3-3 21:52
你这个 还不如直接 2进制计算 或汇编 ADD 快, 而且你这个 最大 255 汗   广东省东莞市  发表于 2017-3-3 21:22
我就是小白,大神 收下我的崇拜   广东省东莞市  发表于 2017-3-3 21:20
就这些判断语句都看不动,你连小白都不如了。   内蒙古自治区呼和浩特市  发表于 2017-3-3 21:07
回复 支持 反对

使用道具 举报

结帖率:67% (4/6)
地下
发表于 2017-3-3 21:05:18 | 只看该作者   河北省承德市

回帖奖励 +1 枚 精币

咳咳,随便咳咳的。
回复 支持 反对

使用道具 举报

结帖率:93% (26/28)

签到天数: 18 天

6
发表于 2017-3-3 21:24:41 | 只看该作者   河北省唐山市

回帖奖励 +1 枚 精币

太复杂了,我看不动
回复 支持 反对

使用道具 举报

结帖率:100% (9/9)

签到天数: 8 天

7
发表于 2017-3-3 21:27:35 | 只看该作者   广西壮族自治区崇左市

回帖奖励 +1 枚 精币

  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
调试输出 (子程序1 (110, 200))
子程序名返回值类型公开备 注
子程序1整数型 
参数名类 型参考可空数组备 注
a整数型
b整数型
置入代码 ({ 139, 69, 8, 139, 77, 12, 1, 200, 201, 194, 4, 0 })
' mov eax,[ebp+8]
' mov ecx,[ebp+12]
' add eax,ecx
' leave
' ret 4
返回 (0)


i支持库列表   支持库注释   
spec特殊功能支持库

感觉汇编还比较清楚易懂

点评

就你这连进位功能都没有。   内蒙古自治区呼和浩特市  发表于 2017-3-4 11:33
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)
8
发表于 2017-3-4 00:30:46 | 只看该作者   江苏省南京市

回帖奖励 +1 枚 精币

太复杂了,
回复 支持 反对

使用道具 举报

结帖率:71% (5/7)
9
发表于 2017-3-4 02:38:08 | 只看该作者   新疆维吾尔自治区克拉玛依市

回帖奖励 +1 枚 精币

支持下                 
回复 支持 反对

使用道具 举报

10
发表于 2017-3-4 09:24:43 | 只看该作者   黑龙江省绥化市

回帖奖励 +1 枚 精币

学习 学习  感谢分享!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表