91美女视频-亚洲免费观看视频-欧美a∨-久热在线视频-日韩黄网站-成av人片在线观看www-久操综合-超碰av在线播放-性欧美欧美巨大69-婷婷二区-av男人的天堂网-中文字幕一区在线播放-玖草在线观看-国产网址在线观看-免费在线不卡av

duhuaiguo
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看duhuaiguo的 主題 / 回貼
樓主  發(fā)表于: 2009-09-01 18:48
This is the main handler of the MMI profile container

Parameters : fb_in_offset   First byte in the input container
             fb_out_offset  First byte in the output container
             db_address     Number of the database to use
             con_len        Length of container in bytes (min.32)  

Example : The terminal is configured to be on input and output byte 64,
          32 bytes allocated  and database to communcate with is 51:
          fb_in_offset  = 64
          fb_out_offset = 64
          db_address    = 51
          con_len       = 32

The function block handles one complete container in one scan. If read index,
FC111 is called.
If write index, FC112 is called.
Note that the control byte is not set until next scan, to avoid timing problems



      L     #fb_in_offset               // Incontainer start address
      T     MW   496                    // Remember incontainer start
      T     MW   500

      L     #fb_in_offset               // Incontainer start address
      SLD   3                           //
      LAR1  
      L     IB [AR1,P#0.0]              // Get the proper control byte from inp.container
      T     MB   486                    // Store it

      L     #fb_out_offset              // Outcontainer start address
      T     MW   498                    // Store it
      T     MW   502

      L     #m_110                      // Previous input control byte
      T     MB   479                    // Store it

      L     0
      T     MB   474                    // Clear error code

      A     M    479.0
      R     M    479.0                  // Clear error flag

      A     M    486.6                  // Terminal present ?
      JC    WEI1                        //
      L     1                           // Error 1 : Comm error
      JU    FEH                         //

WEI1: A     M    486.5                  // Does the terminal toggle the toggle bit ?
      AN    M    486.5
      L     S5T#2S                      // Timeout timer
      SD    "Terminal timeout"
      AN    "Terminal timeout"
      JC    WEI2
      L     2                           // Error 2 : Terminal not in RUN
      JU    FEH

WEI2: A     M    486.7                  // Test if new container
      A     M    479.7                  // Compare old container byte with the new one
      O    
      AN    M    486.7
      AN    M    479.7
      JC    ENDE                        // No new container

      A     M    486.7                  // Pulse
      =     M    479.7

      L     MW   498                    // Outcontainer pointer
      L     4
      +I    
      T     MW   498                    // First data position : 4

      L     MW   496                    // Incontainer pointer
      L     4
      +I    
      T     MW   496                    // First index position : 4
//    
LOOP: NOP   0
      L     MW   496                    // Incontainer pointer
      ITD  
      SLD   3
      T     MD   504                    // Make it double word
      L     IB [MD 504]                 // Get first index byte
      T     MB   486                    // Store it
      L     MB   486
      L     0
      ==I  
      JC    DONE                        // Jump out if index is 0

      A     M    486.7                  // Is it a read index ?
      JC    ANK1
      CALL  "READ INDEX OP PANEL"       // Then call read index function
       DataBase:=#db_address
ANK1: NOP   0
      L     MB   478                    // Check return value from FC111
      L     0
      ==I  
      JC    WEI3                        // Was there an error return ?
      AN    M    479.0
      S     M    479.0                  // Then, set error bit
      L     MB   478
      JU    FEH                         // Jump to error
WEI3: AN    M    486.7                  // Is it a write index ?
      JC    WEI4
      CALL  "WRITE INDEX OP PANEL"      // Then call write index function
       DataBase:=#db_address
      L     MB   478                    // Check return value from FC112
      L     0
      ==I  
      JC    WEI4                        // Was there an error return ?
      AN    M    479.0
      S     M    479.0                  // Then set error bit
      L     MB   478                    //
      JU    FEH                         // Jump to error
WEI4: L     MW   496                    // Check if incontainer is done
      L     MW   500
      -I    
      L     #con_len
      <I    
      A(    
      L     MW   498                    // .. or that outcontainer is done
      L     MW   502
      -I    
      L     #con_len
      <I    
      )    
      JC    LOOP                        // Continue id conatiner not completed
DONE: L     #fb_in_offset               // Container done !
      SLD   3
      LAR1  
      L     IB [AR1,P#0.0]              // Get input control byte

      T     MB   486                    // Store it
      JU    ENDE
//-------  ERROR HANDLING  ---------
FEH:  T     MB   474                    // Store error code
FEH1: L     MW   498
      ITD  
      SLD   3
      T     MD   504

      L     0                           // Write controlbyte to output container
      T     QB [MD 504]

      L     1
      L     MW   498

      +I    
      T     MW   498

      L     MW   502
      -I                                // INTERNES MERKERBYTE SICHERN

      L     32
      <I    

      JC    FEH1
ENDE: NOP   0
      NOP   0
      AN    M    486.6
      S     M    486.6                  // Set the COM-bit
      AN    M    486.5
      =     M    486.5                  // Toggle the Toggel-bit
      A     M    479.0
      =     M    486.4
//----------------------
      L     MB   486                    // Delay answer one scan to avoid timing problems
      T     #out_this_cycle
      L     #fb_out_offset
      SLD   3
      LAR1  
      L     #out_last_cycle
      T     QB [AR1,P#0.0]
      L     #out_this_cycle
      T     #out_last_cycle
      L     MB   479
      T     #m_110
      NOP   0

主站蜘蛛池模板: 精品国产av一区二区三区 | 国产午夜三级 | 日韩色综合网 | 欧美天天性影院 | 五月开心播播网 | 男人在线网站 | 国产经典自拍 | 久久婷婷网 | 国产午夜一级片 | 天天天色综合 | 国产主播福利在线 | www.久久精品视频 | 国产综合无码一区二区色蜜蜜 | 毛片福利| 高清乱码免费 | 欧美一区二区三区四 | 国产青青 | 亚洲精品综合网 | 午夜激情视频在线 | 欧美xxxxbbb | 日韩在线观看视频网站 | 精品无码一区二区三区电影桃花 | 羽月希奶水一区二区三区 | 国产精品久久久久久久久久小说 | 欧美黑人激情 | 中文字幕av亚洲精品一部二部 | 一区二区不卡av | 亚州av一区二区 | 538国产视频| 加勒比色综合 | 日韩综合精品 | 黄色网址av | 一区二区视频免费在线观看 | 看片网址国产福利av中文字幕 | 欧美内谢 | 青青草www | 成人夜晚视频 | 正在播放91| 色网站在线 | 日本黄色小说 | 日韩精品系列 | 先锋影音中文字幕 | 一本大道av伊人久久综合 | 99999视频 | 最近高清中文在线字幕在线观看 | 日本va欧美va欧美va精品 | 久久久久亚洲av无码专区体验 | 香蕉大人久久国产成人av | 91中文国产 | 婷婷久久五月天 | 在线视频久 | 国产精品无码一区二区三区三 | av一卡二卡 | 欧美日韩在线网站 | 久久99精品久久久久久园产越南 | 欧洲女性下面有没有毛发 | 免费黄网站在线看 | 国产97av| 我们的2018在线观看免费高清 | 96精品| 亚洲品质自拍视频 | 丰满岳跪趴高撅肥臀尤物在线观看 | av香蕉 | 精品人伦一区二区三区 | 久草久热 | 亚洲国产日韩在线观看 | 亚洲精品一区二三区不卡 | 大学生三级中国dvd 欧美三级中文字幕 | 日韩中文字幕在线 | 亚洲另类欧美日韩 | 久久影院一区 | 色呦呦免费观看 | 91精品人妻一区二区三区蜜桃欧美 | 亚洲一二三四 | 亚洲第一视频在线播放 | 国产一区欧美 | 99re这里只有 | 中文字幕精品一区二区精品 | 就去吻综合 | 毛片天堂 | 国产露脸国语对白在线 | 波多野吉衣视频在线观看 | 日本三级在线视频 | 黄色在线免费视频 | 婷婷六月丁 | 国产黄色网络 | 日韩资源在线观看 | 91成人在线免费视频 | 欧美一区二区三区 | 成人做爰100 | 久久99精品国产.久久久久久 | 三级网站在线播放 | 91成人免费看 | 奇米四色影视 | 亚洲成人自拍偷拍 | 久久免费毛片 | 亲嘴脱内衣内裤 | 亚洲午夜av久久乱码 | 女生扒开尿口给男生捅 |