首页 > 代码库 > 仿bctc测fdda时间。

仿bctc测fdda时间。


clear

reset

auto_response on
prompt on

fdda_type = 00

sss = timer()

aaa = 00000000

00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31
bbb = apdutime()
aaa = add( $aaa, $bbb )
ccc = hex2int( $bbb )
speed_select_ppse = $ccc

00 A4 04 00 07 A0 00 00 03 33 01 01
bbb = apdutime()
aaa = add( $aaa, $bbb )
ccc = hex2int( $bbb )
speed_select_pboc = $ccc

80 A8 00 00 ( 83 ( A6 00 00 $fdda_type 00 00 00 00 00 01 00 00 00 00 00 00 01 56 00 00 00 00 00 01 56 06 10 31 01 93 6D FA 05  ) )
bbb = apdutime()
aaa = add( $aaa, $bbb )
ccc = hex2int( $bbb )
speed_gpo = $ccc

set resp
afl = gettlv( $resp, 77 94 )

call read_all_record( $afl )

eee = timer()

ttt = sub( $eee, $sss )
ttt = hex2int( $ttt )
speed_run = $ttt

speed_apdu = hex2int( $aaa )
speed_bctc = sub( $aaa, 014ff0 )
speed_bctc = hex2int( $speed_bctc )

prompt off
for a = 0 to 20
    tt = $a
    tt = hex2int( $a )
    data[ $tt ] = hex2int( $data[ $tt ] )
next a
prompt on
? "+==================================================================+"
? "|  fdda 00 rsa 速度表                                              |"
? "|------------------------+-----------------------------------------|"
? "| select ppse            | "  $speed_select_ppse " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "| select pboc            | "  $speed_select_pboc " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|    GPO                 | "  $speed_gpo " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 01 条读记录        | "  $data[ 00 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 02 条读记录        | "  $data[ 01 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 03 条读记录        | "  $data[ 02 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 04 条读记录        | "  $data[ 03 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 05 条读记录        | "  $data[ 04 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 06 条读记录        | "  $data[ 05 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 07 条读记录        | "  $data[ 06 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 08 条读记录        | "  $data[ 07 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 09 条读记录        | "  $data[ 08 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  第 10 条读记录        | "  $data[ 09 ] " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|------------------------+-----------------------------------------|"
? "|------------------------+-----------------------------------------|"
? "|------------------------+-----------------------------------------|"
? "|  apdu总时间和          | "  $speed_apdu " 微秒                             |"
? "|------------------------+-----------------------------------------|"
? "|  bctc 估算时间         | "  $speed_bctc " 微秒                             |"

? "|------------------------------------------------------------------|"

end

read_all_record:
    prompt off
    for a = 0 to 20
        tt = $a
        tt = hex2int( $a )
        data[ $tt ] = 00
    next a
    prompt on

    tt = 00
    afl = pop()
    ? "取得afl的长度"
    afl_len = strlen( $afl )
    afl_len = sub( $afl_len, 01 )
    ? $afl_len
    afl_len = hex2int( $afl_len )

    for a = 0 to $afl_len step 4
        aa = $a
        offset = hex2int( $aa )
        sfi = mid( $afl, $offset, 01 )
        ? "sfi  = " $sfi
        offset1 = add( $aa, 01 )
        offset2 = add( $aa, 02 )
        offset1 = hex2int( $offset1 )
        offset2 = hex2int( $offset2 )
        start = mid( $afl, $offset1, 01 )
        endx = mid( $afl, $offset2, 01 )
        start = hex2int( $start )
        endx = hex2int( $endx )
        for b = $start to $endx
            bb = $b
            xx = add( $sfi, 04 )
            00 b2 $bb $xx 00
            if sw != 9000
                pause
            endif
            time = apdutime()
            data[ $tt ] = $time
            tt = add( $tt, 01 )
            aaa = add( $aaa, $time )
        next b
    next a

return