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

      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

      主站蜘蛛池模板: 成人AV一区二区三区无码金桔 | 欧美丰满熟妇乱XXXXX视频 | 国产精口品美女乱子伦高潮 | 最近更新的2019中文字幕 | 色又黄又爽18件免费网站 | 麻豆视频国产精品 | 免费的三级毛片 | 西方av在线 | 曰韩精品一区二区 | 成人在线观 | 四虎院影wwwf678com| 无码一区二区三区中文字幕 | 第四色播日韩第一页 | 成人免费视频观看 | 2021在线精品自偷自拍无码 | 97人伦色伦成人免费视频 | 亚洲亚色| 国产成A人亚洲精V品无码 | 在线观看视频色潮 | 我~慢点~好爽好大~男男动漫 | 91超碰碰碰碰久久久久久综合 | 日韩欧美在线播放 | 91在线?看 | 国产精品美女久久久久久免费 | 又黄又爽又色成人免费体验 | 德国肥妇性猛交视频 | 麻豆九一精品爱看视频在线观看免费 | 日韩精品视频在线观看免费 | 国产精品推荐制服丝袜 | 校花高潮抽搐冒白浆 | 91欧美日韩一区 | 天天综合网站 | 两根大肉大捧一进一出好爽视频 | 成人免费福利视频 | 欧美精品免费在线观看 | 日韩免费一级电影 | 俺来也俺也去精品一区 | 夜夜操夜夜爱 | 久久精品农村毛片 | 国产成人亚洲综合A∨ | 欧美国产激情二区三区 |