ACR128 Dual Interface Smart Card Reader
7.5 Value Block Related Commands
The data block can be used as value block for implementing value-based applications.
7.5.1 Value Block Operation
The Value Block Operation command is used for manipulating value-based transactions, e.g.,
increment a value of the value block, etc.
Table 26-a: Value Block Operation APDU Format (10 Bytes)
Command
Class INS
P1
P2
Lc
Data In
Value
Block
Operation
FF D7 00
Block
Number
05 VB_OP VB_Value
(4 Bytes)
{MSB .. LSB}
where:
Block Number:
1 Byte. The value block to be manipulated.
VB_OP:
1 Byte.
0x00 = Store the VB_Value into the block. The block will then be converted to a value block.
0x01 = Increment the value of the value block by the VB_Value. This command is only valid for
value block.
0x02 = Decrement the value of the value block by the VB_Value. This command is only valid for
value block.
VB_Value:
4 Bytes. The value of this data, which is a signed long integer (4 bytes), is used for value
manipulation.
Example 1: Decimal - 4 = {0xFF, 0xFF, 0xFF, 0xFC}
VB_Value
MSB
LSB
FF FF FF FC
Example 2: Decimal 1 = {0x00, 0x00, 0x00, 0x01}
VB_Value
MSB
LSB
00 00 00 01
Table 26-b: Value Block Operation Response Format (2 Bytes)
Response
Data Out
Result SW1
SW2
Table 26-c: Value Block Operation Response Codes
Results
SW1
SW2
Meaning
Success
90
00
The operation is completed successfully.
Error
63
00
The operation failed.
Page
31 of 36
ACR128 API
Version 1.7 May 2008