开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 5060|回复: 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)
 楼主| 发表于 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特殊功能支持库


回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 6 天

发表于 2017-11-28 21:20:52 | 显示全部楼层   江西省萍乡市
别人的在程序关闭后会崩溃
回复 支持 反对

使用道具 举报

发表于 2017-5-14 16:33:38 | 显示全部楼层   福建省宁德市
这张种想法不错
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)
 楼主| 发表于 2017-5-14 00:03:38 | 显示全部楼层   内蒙古自治区呼和浩特市
ghots少主 发表于 2017-5-14 00:00
这代码看着就头晕,不用说写了

设计修改这种程序一般都要会数电基础的。
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:100% (9/9)
发表于 2017-5-14 00:00:53 | 显示全部楼层   广东省湛江市
这代码看着就头晕,不用说写了
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)
 楼主| 发表于 2017-5-13 21:55:55 | 显示全部楼层   内蒙古自治区呼和浩特市
汉族 发表于 2017-5-13 21:37
我好久钱看到这个  只是支持 255的加法  汗    !!!!

带进位的是可以级联的,里面只是个或非门组成的8位全加器的程序。
回复 支持 反对

使用道具 举报

结帖率:87% (20/23)

签到天数: 1 天

发表于 2017-5-13 21:37:55 | 显示全部楼层   广东省东莞市
我好久钱看到这个  只是支持 255的加法  汗    !!!!
回复 支持 反对

使用道具 举报

结帖率:95% (40/42)
发表于 2017-3-5 13:58:52 | 显示全部楼层   本地局域网
表示不懂
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2017-3-4 15:16:59 高大上手机用户 | 显示全部楼层   本地局域网
吓坏了,下午看的贴,没一个看懂的!这易语言怎么学啊!

点评

里面的每3字节是控制或非逻辑门从那两个内存地址读出逻辑,结果写入指定的内存地址就行。   内蒙古自治区呼和浩特市  发表于 2017-3-4 17:02
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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