麻豆一区区三三四区产品麻豆-麻豆影视国产TV在线观看-麻豆影视国产在线观看-麻豆影视在线-麻豆影视在线观看av-麻豆影院

duhuaiguo
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看duhuaiguo的 主題 / 回貼
樓主  發表于: 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

主站蜘蛛池模板: 欧美日韩国产高清一区二区三区| 亚洲三级天堂| 91一区二区三区在线观看| 蜜桃色欲AV久久无码精品| 黄AV国产永久免费网站| 福利色视频在线看| 日本一本二本免费视频在线观看| 少妇高潮潮喷到猛进猛出小说| 国产精品一区二区不卡在线| 性色av综合在线观看精品| 免费麻花豆传媒剧国产MV在线| 国产一区二区三区在线精品专区| 亚洲日韩欧美一区二区三区 | 欧美综合人人做人人爱| 久久AV国产麻豆HD真实乱| 色天天综合久久久久综合片| 91精品无码国产在线观看一区欧美日一 | 亚洲欧美日产综合在线网| 精品国产乱码久久久久久浪潮小说 | 动漫精品一区二区三区| 人妻一区二区三区无码精品一区| 无码一区二区三区曰本A片| 国产成人av大片在线播放| 日本一二三不卡免费| 亚洲精品久久国产高清情趣 | 精品不卡高清视频在线观看| 成人亚洲a片ⅴ一区二区三区动漫| 欧洲vodafone.apn| 久久视频精品3线视频在线观看| 打开腿闺蜜用黄瓜让我爽| 欧美日韩亚洲视频| 国产又黄又粗又爽又色的视频软件| 成人h动漫精品一区二区无| 欧美xxxxx九色视频免费观看| 国产亚洲精品久久久无码狼牙套| 波多野结衣一区二区三区精品 | 久久久亚洲国产精品主播| 欧美国产亚洲卡通综合| 国产乱伦在线观看| 无码一区二区人妻精品做受| 大陆一级毛片免费|