登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:小女子的新问题,呵呵

点击:3931 回复:17

那个gm99cn已经解释了很好了.
那个dzfa说没什么用处的也有点对.
比如,如果你没写错,那个l 2#1111111111111111(16个1), 然后aw就是没有用处!
如果是我的想法,也许你写错什么地方了!
08-08-27 16:58
我就不一一署名了,呵呵。各位大侠:
    小妹先给大家道声谢了。
   今天专门去问了老师了,程序是上一届的师兄所编。
    前面的字与,减1,取反就是将负数的补码转成带符号的整数。可是我以前学过的将补码转成带符号的整数。应该是先保留符号位,剩下的逐位取反,然后加1。
     举个例子11111001的补码是10000111(-7),先留符号位,其余取反,然后加1。得出是10000111。
    请问我师兄这种编法对不。有没那位大侠提供将补码转成带符号整数的常用编法。
回pqsh:  老师说好象师兄这个地方就是有问题。不过不影响整个调试,所以留下来了。呵呵
08-08-28 10:56
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  //原码
08-08-28 13:35
真有意思啊.上面这个gm99cn差不多对啊.
要真是补码的话,你老师要不就是你师兄肯定给你留错了!如果不影响调试,那这程序就是gm99cn上几楼说的那样,那样的话不是求补码转换!
你写的11111001是补码,-7是负整数.补码就是2减码.
08-08-29 08:37
回pqsh:你说的对,11111001是补码,-7是负整数。呵呵。我也怀疑师兄那个不像是将补码转换为负整数。可老师说各人有各人的编法,还说给我的是个中间版本。说我要有新的编法更好。晕。这个老师到底懂不懂啊。
回gm99cn:真的很感谢你,老是回我的帖子。呵呵。你的程序很对我的胃口。嘿嘿。
08-08-29 16:11
晕,我只能引用经典说,你们老师在吃屎,而且~吃得很开心!
08-08-29 20:40
意思是模拟量采集:模拟量采集在20ma
08-08-31 23:36
我的错,实在对不起各位大侠啊,程序我给漏了一行,应该是这样的,必须给师兄平反一下:
     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,给到哪了,不是放在累加器里面吗。还有,你说的断线是什么意思?难道这段程序不是补码转换程序吗。好人做到底,谢谢你再跟帖,好吗?
08-09-01 17:38

上一页 上一页

工控新闻

更多新闻资讯