您现在所在的是:

西门子SIEMENS

回帖:17个,阅读:3859 [上一页] [1] [2] [下一页]
19852
pqsh 版主
文章数:7496
年度积分:468
历史总积分:19852
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2008/8/27 16:58:00
#10楼
那个gm99cn已经解释了很好了.
那个dzfa说没什么用处的也有点对.
比如,如果你没写错,那个l 2#1111111111111111(16个1), 然后aw就是没有用处!
如果是我的想法,也许你写错什么地方了!
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1120
rehe_1314
文章数:47
年度积分:50
历史总积分:1120
注册时间:2007/6/26
发站内信
发表于:2008/8/28 10:56:00
#11楼
我就不一一署名了,呵呵。各位大侠:
    小妹先给大家道声谢了。
   今天专门去问了老师了,程序是上一届的师兄所编。
    前面的字与,减1,取反就是将负数的补码转成带符号的整数。可是我以前学过的将补码转成带符号的整数。应该是先保留符号位,剩下的逐位取反,然后加1。
     举个例子11111001的补码是10000111(-7),先留符号位,其余取反,然后加1。得出是10000111。
    请问我师兄这种编法对不。有没那位大侠提供将补码转成带符号整数的常用编法。

回pqsh:  老师说好象师兄这个地方就是有问题。不过不影响整个调试,所以留下来了。呵呵
谁说当代雷锋少,一代更比一代好
1168
gm99cn
文章数:80
年度积分:50
历史总积分:1168
注册时间:2007/10/18
发站内信
发表于:2008/8/28 13:35:00
#12楼
L MW0  //补码
T LW0
A L1.7  //读取符号位
JCN aa01  //=0表示正数,原码=补码,跳转到aa01。
INVI  //取反
L 1
+I  //+1
L w#16#8000 //符号位为=1
OW  
aa01: NOP 1
T MW2  //原码
mail:gaojian@gaojian100.cn网址:gaojian100.cn
19852
pqsh 版主
文章数:7496
年度积分:468
历史总积分:19852
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2008/8/29 8:37:00
#13楼
真有意思啊.上面这个gm99cn差不多对啊.
要真是补码的话,你老师要不就是你师兄肯定给你留错了!如果不影响调试,那这程序就是gm99cn上几楼说的那样,那样的话不是求补码转换!
你写的11111001是补码,-7是负整数.补码就是2减码.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1120
rehe_1314
文章数:47
年度积分:50
历史总积分:1120
注册时间:2007/6/26
发站内信
发表于:2008/8/29 16:11:00
#14楼
回pqsh:你说的对,11111001是补码,-7是负整数。呵呵。我也怀疑师兄那个不像是将补码转换为负整数。可老师说各人有各人的编法,还说给我的是个中间版本。说我要有新的编法更好。晕。这个老师到底懂不懂啊。

回gm99cn:真的很感谢你,老是回我的帖子。呵呵。你的程序很对我的胃口。嘿嘿。
谁说当代雷锋少,一代更比一代好
19852
pqsh 版主
文章数:7496
年度积分:468
历史总积分:19852
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2008/8/29 20:40:00
#15楼
晕,我只能引用经典说,你们老师在吃屎,而且~吃得很开心!
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
978
xxp032
文章数:8
年度积分:50
历史总积分:978
注册时间:2008/2/2
发站内信
发表于:2008/8/31 23:36:00
#16楼
意思是模拟量采集:模拟量采集在20ma<piw290<4ma(0-27648)时就给8000,为断线。如果不采用这个程序,模拟量可以采集到3.5-22ma左右(-4864-32767)就是模拟量上溢和下溢,这样主要是保证是4-20ma的信号,除非你那信号没干扰,不然不要采用这个程序!
1120
rehe_1314
文章数:47
年度积分:50
历史总积分:1120
注册时间:2007/6/26
发站内信
发表于:2008/9/1 17:38:00
#17楼
我的错,实在对不起各位大侠啊,程序我给漏了一行,应该是这样的,必须给师兄平反一下:
     L     PIW  290
     T     MW   126
     L     2#1000000000000000
     AW    
     JZ    A00
     TAK  
     L     1
     -I    
     INVI  
     L     2#1111111111111111
     AW    
     JU    A01

A00:  TAK  
A01:  T     MW   124
     L     2#101000000000
     -I    
     L     2#1111111111111111
     AW    
     T     MW    66
     L     2#1000000000000000
     AW    
两个疑问:
1.补码转换是不是有两种方法,一是取反,加1,得出是绝对值;二是减1后取反,得出的也是绝对值。对吗?
2.如果PIW290里面的是正数,跳到A00后,执行TAK,接着从哪开始执行呢。

回xxp032:

你给我引出新的问题了, 你说的给8000,给到哪了,不是放在累加器里面吗。还有,你说的断线是什么意思?难道这段程序不是补码转换程序吗。好人做到底,谢谢你再跟帖,好吗?
谁说当代雷锋少,一代更比一代好

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005