欧美鲁鲁_啦啦啦啦在线观看_日韩精品短视频_玩偶姐姐作品在线观看_天天综合天天做天天综合_国产综合图区

      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精品国产91 | 黄色3级视频 | 国产重口老太和小伙A片 | 她也色在线视频观看 | 91麻豆精品秘密 | 日本欧美一本 | 天堂在线WWW天堂在线最新版 | 天天做日日做天天添天天欢公交车 | 99久久99这里只有免费费精品 | 啦啦啦免费观看视频 | 无遮挡无掩盖网站 | 国产精品99久久不卡二区 | 日本免费高清 | 免费h动漫无码网站 | 成全高清免费观看MV动漫 | 欧美三四区| 亚洲永久精品国产 | 秋霞人成在线观看免费视频 | 偿还在线观看 | 国产精品国产三级国产专区52 | 最新毛片在线观看 | 国产av原创国片精品有毛 | 日韩在线精品一二三区 | 国产无套水多在线观看 | 亚洲国产精品一区二区三区 | 欧美色图自拍 | 国产精品99久久久久的智能播放 | 男女下面一进一出免费视频网站 | 72pao成人国产永久免费视频 | 久在线观看福利视频 | 69产性猛交xxxx乱大交 | 销魂美女图片一二三区 | 亚洲乱亚洲乱少妇无码99P | 国产第8页| 国内一区二区视频 | gay在线| 九九视频这里只有精品 | 五月久久六月婷婷俺也去 | 日韩91视频| 色在线免费观看 | 国产三级黄色 |