CN1242086A - 用微控制器使用高级程序设计语言 - Google Patents
用微控制器使用高级程序设计语言 Download PDFInfo
- Publication number
- CN1242086A CN1242086A CN97181037A CN97181037A CN1242086A CN 1242086 A CN1242086 A CN 1242086A CN 97181037 A CN97181037 A CN 97181037A CN 97181037 A CN97181037 A CN 97181037A CN 1242086 A CN1242086 A CN 1242086A
- Authority
- CN
- China
- Prior art keywords
- integrated circuit
- application program
- circuit card
- card
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims description 168
- 230000008569 process Effects 0.000 claims description 72
- 238000004891 communication Methods 0.000 claims description 55
- 238000007689 inspection Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 6
- 239000004065 semiconductor Substances 0.000 claims description 5
- 230000000153 supplemental effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 244000035744 Hura crepitans Species 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims 2
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 230000003068 static effect Effects 0.000 description 176
- 241001673391 Entandrophragma candollei Species 0.000 description 32
- 230000014509 gene expression Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000013519 translation Methods 0.000 description 10
- 230000014616 translation Effects 0.000 description 10
- 239000011800 void material Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 101100416997 Homo sapiens RNPS1 gene Proteins 0.000 description 5
- 102100039323 RNA-binding protein with serine-rich domain 1 Human genes 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 201000008103 leukocyte adhesion deficiency 3 Diseases 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 102100032986 CCR4-NOT transcription complex subunit 8 Human genes 0.000 description 3
- 101000942586 Homo sapiens CCR4-NOT transcription complex subunit 8 Proteins 0.000 description 3
- 101001054329 Homo sapiens Interferon epsilon Proteins 0.000 description 3
- 101001094629 Homo sapiens Popeye domain-containing protein 2 Proteins 0.000 description 3
- 101000608230 Homo sapiens Pyrin domain-containing protein 2 Proteins 0.000 description 3
- 102100026688 Interferon epsilon Human genes 0.000 description 3
- 101100165729 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) stk-1 gene Proteins 0.000 description 3
- 101100078188 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MST27 gene Proteins 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000027455 binding Effects 0.000 description 2
- 238000009739 binding Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001646055 Belenois java Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000018958 Gardenia augusta Nutrition 0.000 description 1
- 101100376153 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TY2A-F gene Proteins 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/356—Aspects of software for card payments
- G06Q20/3563—Software being resident on card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/357—Cards having a plurality of specified features
- G06Q20/3574—Multiple applications on card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/062—Pre-authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Devices For Executing Special Programs (AREA)
- Microcomputers (AREA)
- Storage Device Security (AREA)
- Electrophonic Musical Instruments (AREA)
- Credit Cards Or The Like (AREA)
Abstract
Description
存取控制列表 | 虚拟机 | 加密 | |
数据保护 | 操作前的存取控制 | 只访问自己的名字空间 | 去向另一个程序的数据被加密 |
程序保护 | 执行前的存取控制 | 只对正确的类型执行 | 数据在程序的名字空间中加密 |
通信保护 | 通道上的存取控制 | 在自己的名字空间中的通道控制 | 只有互相验证的各方才能通信 |
/* * 由该JVM处理的实际Java字节代码的列表 * 参见Lindohlm和Yellin的文章。 * * 版权属于美国的Schlumberger Austin Products Center, * Schlumberger,Austin,Texas,1996。 */ public interface BytecodeDefn { public static final byte j_NOP=(byte)0; public static final byte ACONST_NULL=(byte)1; public static final byte ICONST_M1=(byte)2; public static final byte ICONST_0=(byte)3; public static final byte ICONST_1=(byte)4; public static final byte ICONST_2=(byte)5; public static final byte ICONST_3=(byte)6; public static final byte ICONST_4=(byte)7; public static final byte ICONST_5=(byte)8; public static final byte BIPUSH=(byte)16; public static final byte SIPUSH=(byte)17; public static final byte LDC1=(byte)18; public static final byte LDC2=(byte)19; public static final byte ILOAD=(byte)21; public static final byte ALOAD=(byte)25; public static final byte ILOAD_0=(byte)26; public static final byte ILOAD_1=(byte)27; public static final byte ILOAD_2=(byte)28; public static final byte ILOAD_3=(byte)29; public static final byte ALOAD_0=(byte)42; public static final byte ALOAD_1=(byte)43; <dp n="d39"/> public static final byte ALOAD_2=(byte)44; public static final byte ALOAD_3=(byte)45; public static final byte IALOAD=(byte)46; public static final byte AALOAD=(byte)50; public static final byte BALOAD=(byte)51; public static final byte CALOAD=(byte)52; public static final byte ISTORE=(byte)54; public static final byte ASTORE=(byte)58; public static final byte ISTORE_0=(byte)59; public static final byte ISTORE_1=(byte)60; public static final byte ISTORE_2=(byte)61; public static final byte ISTORE_3=(byte)62; public static final byte ASTORE_0=(byte)75; public static final byte ASTORE_1=(byte)76; public static final byte ASTORE_2=(byte)77; public static final byte ASTORE_3=(byte)78; public static final byte IASTORE=(byte)79; public static final byte AASTORE=(byte)83; public static final byte BASTORE=(byte)84; public static final byte CASTORE=(byte)85; public static final byte POP=(byte)87; public static final byte POP2=(byte)88; public static final byte DUP=(byte)89; public static final byte DUP_X1=(byte)90; public static final byte DUP_X2=(byte)91; public static final byte DUP2=(byte)92; public static final byte DUP2_X1=(byte)93; public static final byte DUP2_X2=(byte)94; public static final byte SWAP=(byte)95; public static final byte IADD=(byte)96; public static final byte ISUB=(byte)100; public static final byte IMUL=(byte)104; public static final byte IDIV=(byte)108; public static final byte IREM=(byte)112; public static final byte INEG=(byte)116; <dp n="d40"/> public static final byte ISHL=(byte)120; public static final byte ISHR=(byte)122; public static final byte IUSHR=(byte)124; public static final byte lAND=(byte)126; public static final byte IOR=(byte)128; public static final byte IXOR=(byte)130; public static final byte IINC=(byte)132; public static final byte INT2BYTE=(byte)145; public static final byte INT2CHAR=(byte)146; public static final byte INT2SHORT=(byte)147; public static final byte IFEQ=(byte)153; public static final byte IFNE=(byte)154; public static final byte IFLT=(byte)155; public static final byte IFGE=(byte)156; public static final byte IFGT=(byte)157; public static final byte IFLE=(byte)158; public static final byte IF_ICMPEQ=(byte)159; public static final byte IF_ICMPNE=(byte)160; public static final byte IF_ICMPLT=(byte)161; public static final byte IF_ICMPGE=(byte)162; public static final byte IF_ICMPGT=(byte)163; public static final byte IF_ICMPLE=(byte)164; public static final byte IF_ACMPEQ=(byte)165; public static final byte IF_ACMPNE=(byte)166; public static final byte GOTO=(byte)167; public static final byte j_JSR=(byte)168; public static final byte RET=(byte)169; public static final byte TABLESWITCH=(byte)170; public static final byte LOOKUPSWITCH=(byte)171; public static final byte IRETURN=(byte)172; public static final byte ARETURN=(byte)176; public static final byte RETURN=(byte)177; public static final byte GETSTATIC=(byte)178; public static final byte PUTSTATIC=(byte)179; public static final byte GETFIELD=(byte)180; <dp n="d41"/> public static final byte PUTFIELD=(byte)181; public static final byte INVOKEVIRTUAL=(byte)182; public static final byte INVOKENONVIRTUAL=(byte)183; public static final byte INVOKESTATIC=(byte)184; pubiic static final byte INVOKEINTERFACE=(byte)185; public static final byte NEW=(byte)187; public static final byte NEWARRAY=(byte)188; public static final byte ARRAYLENGTH=(byte)190; public static final byte ATHROW=(byte)191; public static final byte CHECKCAST=(byte)192; public static final byte INSTANCEOF=(byte)193; public static final byte IFNULL=(byte)198; public static final byte IFNONNULL=(byte)199;
/* * 再处理代码块 */ static void reprocessMethod(iMethod*imeth) { int pc; int npc; int align; bytecode*code; int codelen; int i; int opad; int npad; int apc; int high; int low; /*Codeinfo表跟踪有效Java字节代码及其对应 * 的翻译 */ code=imeth->external->code; codelen=imeth->external->code_length; jumpPos=0; align=0; /* 扫描不支持的操作码 */ for(pc=0;pc<codelen;pc=npc){ if(codeinfo[code[pc]].valid==0){ error(″Unsupported opcode%d″,code[pc]); <dp n="d43"/> } npc=nextPC(pc,code); } /* 扫描跳转指令并插入跳转表 */ for(pc=0;pc<codelen;pc=npc){ npc=nextPC(pc,code); if(codeinfo[code[pc]].valid==3){ insertJump(pc+1,pc,(int16)((code[pc+1]<<8)|code[pc+2])); } eise if(codeinfo[code[pc]].valid==4){ apc=pc&-4; low=(code[apc+8]<<24)|(code[apc+9]<<16) |(code[apc+10]<<8)|code[apc+11]; high=(code[apc+12]<<24)|(code[apc+13]<<16) |(code[apc+14]<<8)|code[apc+15]; for(i=0;i<high-low+1;i++){ insertJump(apc+(i*4)+18,pc, (int16)((code[apc+(i*4)+18]<<8)|code[apc+(i*4)+19])); } insertJump(apc+6,pc,(int16)((code[apc+6]<<8)|code[apc+7])); } else if(codeinfo[code[pc]].valid==5){ apc=pc&-4; low=(code[apc+8]<<24)|(code[apc+9]<<16) |(code[apc+10]<<8)|code[apc+11]; for(i=0;i<low;i++){ insertJump(apc+(i*8)+8,pc, (int16)((code[apc+(i*8)+18]<<8)|code[apc+(i*8)+19])); } insertJump(apc+6,pc,(int16)((code[apc+6]<<8)|code[apc+7])); } } <dp n="d44"/> #ifdef TRANSLATE_BYTECODE /* 翻译专用操作的以生成通用操作码 */ for(pc=0;pc<codelen;pc=npc){ /* 这是一个翻译代码 */ if(codeinfo[code[pc]].valid==2){ switch(code[pc]){ case ILOAD_0: case ILOAD_1: case ILOAD_2: case ILOAD_3: insertSpace(code,&codelen,pc,1); align+=1; code[pc+1]=code[pc]-ILOAD_0; code[pc+0]=ILOAD; break; case ALOAD_0: case ALOAD_1: case ALOAD_2: case ALOAD_3: insertSpace(code,&codelen,pc,1); align+=1; code[pc+1]=code[pc]-ALOAD_0; code[pc+0]=ALOAD; break; case ISTORE_0: case ISTORE_1: case ISTORE_2: case ISTORE_3: insertSpace(code,&codelen,pc,1); align+=1; code[pc+1]=code[pc]-ISTORE_0; code[pc+0]=ISTORE; <dp n="d45"/> break; case ASTORE_0: case ASTORE_1: case ASTORE_2: case ASTORE_3: insertSpace(code,&codelen,pc,1); align+=1; code[pc+1]=code[pc]-ASTORE_0; code[pc+0]=ASTORE; break; case ICONST_M1: insertSpace(code,&codelen,pc,2); align+=2; code[pc+2]=255; code[pc+1]=255; code[pc+0]=SIPUSH; break; case ICONST_0: case ICONST_1: case ICONST_2: case ICONST_3: case ICONST_4: case ICONST_5: insertSpace(code,&codelen,pc,2); align+=2; code[pc+2]=code[pc]-ICONST_0; code[pc+1]=0; code[pc+0]=SIPUSH; break; case LDC1: insertSpace(code,&codelen,pc,1); <dp n="d46"/> align+=1; code[pc+1]=0; code[pc+0]=LDC2; break; <dp n="d47"/> case BIPUSH: insertSpace(code,&codelen,pc,1); align+=1; if((int8)code[pc+2]>=0){ code[pc+1]=0; } else{ code[pc+1]=255; } code[pc+0]=SIPUSH; break; case INT2SHORT: removeSpace(code,&codelen,pc,1); align-=1; npc=pc; continue; } } else if (codeinfo[code[pc]].valid==4||codeinfo[code[pc]].valid==5){ /* 切换被对齐到4字节的边界。由于我们在插入,删除字节代码, * 这会改变切换指令的对齐。 * 因此我们必须重新调整切换中的填充来加以补偿。 */ opad=(4-(((pc+1)-align)%4))%4;/*当前切换填充 */ npad=(4-((pc+1)%4))%4;/*新切换填充 /* if(npad>opad){ insertSpace(code,&codelen,pc+1,npad-opad); align+=(npad-opad); } else if(npad<opad){ removeSpace(code,&codelen,pc+1,opad-npad); align-=(opad-npad); } <dp n="d48"/> } npc=nextPC(pc,code); } #endif /* 重链接常量 */ for(pc=0;pc<codelen;pc=npc){ npc=nextPC(pc,code); i=(uint16)((code[pc+1]<<8)+code[pc+2]); switch(code[pc]){ case LDC2: /*′i′==通用变址 */ switch(cltem(i).type){ case CONSTANNT_Integer: i=cltem(i).v.tint; code[pc]=SIPUSH; break; case CONSTANT_String: i=buildStringindex(i); break; default: error(″Unsupported loading of constant type″); break; } break; case NEW: case INSTANCEOF: case CHECKCAST: /*′i′==类变址 */ <dp n="d49"/> i=buildClassIndex(i); break; case GETFIELD: case PUTFIELD: /*′i′==域变址 */ /*i=buildFieldSignaturelndex(i);*/ i=buildStaticFieldSignaturelndex(i); break; case GETSTATIC: case PUTSTATIC: /*′i′==域变址 */ i=buildStaticFieldSignaturelndex(i); break; case INVOKEVIRTUAL: case INVOKENONVIRTUAL case INVOKESTATIC: case INVOKEINTERFACE: /*′i′==过程签名变址 */ i=buildSignaturelndex(i); break; } /*插入应用程序的常量引用 */ code[pc+1]=(i>>8)&0×FF; code[pc+2]=i &0×FF; } #ifdef MODIFY_BYTECODE /*翻译代码 */ for(pc=0;pc<codelen;pc=npc){ npc=nextPC(pc,code); <dp n="d50"/> code[pc]=codeinfo[code[pc]].translation; } #endif /* 重链接跳转*/ for(i=0;i<jumpPos;i++){ apc=jumpTable[i]at; pc=jumpTable[i].from; npc=jumpTable[i].to-pc; code[apc+0]=(npc>>8)&0×FF; code[apc+1]=npc&0×FF; } /*固定长度*/ imeth->external->code_length=codelen; imeth->esize=(SIZEOFMETHOD+codelen+3)&-4; }
public class Bootstrap{ ∥ 整个程序所使用的常量 static final byte BUFFER_LENGTH =32; static final byte ACK_SIZE =(byte)1; static final byte ACK_CODE =(byte)0; static final byte OS_HEADER_SIZE =(byte)0×10; static final byte GPOS_CREATE_FILE =(byte)0×E0; static final byte ST_INVALID_CLASS =(byte)0×C0; static final byte ST_INVALID_PARAMETER =(byte)0×A0; static final byte ST_INS_NOT_SUPPORTED =(byte)0×B0; static final byte ST_SUCCESS =(byte)0×00; static final byte ISO_COMMAND_LENGTH =(byte)5; static final byte ISO_READ_BINARY =(byte)0×B0; static final byte ISO_UPDATE_BINARY =(byte)0×D6; static final byte ISO_INIT_APPLICATION=(byte)0×F2; static final byte ISO_VERIFY_KEY =(byte)0×2A; static final byte ISO_SELECT_FILE =(byte)0×A4; static final byte ISO_CLASS =(byte)0×C0; static final byte ISO_APP_CLASS =(byte)0×F0; public static void main () { byte pbuffer[]=new byte[ISO_COMMAND_LENGTH]; byte dbuffer[]=new byte[BUFFER_LENGTH]; byte ackByte[]=new byte[ACK_SIZE]; ∥short fileld; short offset; <dp n="d52"/> byte bReturnStatus; ∥初始化通信 _OS.SendATR(); do{ ∥提取命令首部 _OS.GetMessage(pbuffer,ISO_COMMAND_LENGTH,ACK_CODE); ∥检验报文的类-仅ISO和应用程序 if((pbuffer[0]!=ISO_APP_CLASS) &&(pbuffer[0]!=ISO_CLASS)){ _OS.SendStatus(ST_INVALID_CLASS); } else{ ∥通过切换 ∥发送应答代码 ∥检验数据长度是否太大 if(pbuffer[4]>BUFFER_LENGTH){ bReturnStatus=ST_INVALID_PARAMETER; } else { switch(pbuffer[1]){ case ISO_SELECT_FILE: ∥假定长度总是2 if(pbuffer[4]!=2){ bReturnStatus=ST_INVALID_PARAMETER; } else { ∥读取数据缓冲器中的field(offset) _OS.GetMessage(dbuffer,(byte)2,pbuffer[1]); ∥将dbuffer[0..1]变换成短整数 <dp n="d53"/> offset=(short)((dbuffer[0]<<8)|(dbuffer[1]& 0×00FF)); bReturnStatus=_OS.SelectFile(offset); } break; case ISO_VERIFY_KEY: ∥从终端取得密钥 _OS.GetMessage(dbuffer,pbuffer[4],pbuffer[1]); bReturnStatus=_OS.VerifyKey(pbuffer[3], dbuffer, pbuffer[4]); break; case ISO_INIT_APPLICATION: ∥应发送有效程序文件的ID _OS.GetMessage(dbuffer,(byte)1,pbuffer[1]); ∥通过变换从pbuffer[2..3]计算fileld(offset) offset=(short)((pbuffer[2]<<8)|(pbuffer[3]& 0×00FF)); bReturnStatus=_OS.Execute(offset, dbuffer[0]); break; case GPOS_CREATE_FILE: if(pbuffer[4]!=OS_HEADER_SIZE){ bReturnStatus=ST_INVALID_PARAMETER; break; } ∥接收数据 _OS.GetMessage(dbuffer,pbuffer[4],pbuffer[1]); bReturStatus=_OS.CreateFile(dbuffer); break; case ISO_UPDATE_BINARY: _OS.GetMessage(dbuffer,pbuffer[4],pbuffer[1]); ∥通过变换从pbuffer[2..3]计算偏移 <dp n="d54"/> offset=(short)((pbuffer[2]<<8)|(pbuffer[3]&0×00FF)); ∥假定有文件已被选择 bReturnStatus=_OS.WriteBinaryFile(offset, pbuffer[4], dbuffer); break; case ISO_READ_BINARY: ∥通过变换从pbuffer[2..3]计算偏移 offset=(short)((pbuffer[2]<<8)|(pbuffer[3]&0×00FF)); ∥假定某文件已经被选择 bReturnStatus=_OS.ReadBinaryFile(offset, pbuffer[4], dbuffer); ∥如果成功则发送数据 ackByte[0]=pbuffer[1]; if(bReturnStatus==ST_SUCCESS){ _OS.SendMessage(ackByte,ACK_SIZE); _OS.SendMessage(dbuffer,pbuffer[4]); } break; default: bReturnStatus=ST_INS_NOT_SUPPORTED; } } _OS.SendStatus(bReturnStatus); } } while(true); } }
pubiic class_OS{ static native byte SelectFile (short file_id); static native byte SelectParent (); static native byte SelectCD (); static native byte SelectRoot (); static native byte CreateFile (byte file_hdr[]); static native byte DeleteFile (short file_id); ∥一般文件操作 static native byte ResetFile (); static native byte ReadByte (byte offset); static native short ReadVVord (byte offset); ∥首部操作 static native byte GetFilelnfo (byte file_hdr[]); ∥二进制文件支持 static native byte ReadBinaryFile (short offset, byte data_length, byte buffer[]); static native byte WriteBinaryFile (short offset, byte data_length, byte buffer[]); ∥记录文件支持 static native byte SelectRecord (byte record_nb, byte mode); static native byte NextRecord (); static native byte PreviousRecord (); <dp n="d56"/> static native byte ReadRecord (byte record_data[], byte record_nb, byte offset, byte length); static native byte WriteRecord (byte buffer[], byte record_nb, byte offset, byte length); ∥循环文件支持 static native byte LastUpdatedRec (); ∥报文传递功能 static native byte GetMessage (byte buffer[], byte expected_length, byte ack_code); static native byte SendMessage (byte buffer[], byte data_length); static native byte SetSpeed (byte speed); ∥身份管理 static native byte CheckAccess (byte ac_action); static native byte VerifyKey (byte key_number, byte key_buffer[], byte key_length); static native byte VerifyCHV (byte CHV_number, byte CHV_bufferr[], byte unblock_flag); static native byte ModifyCHV (byte CHV_number, byte old_CHV_buffer[], byte new_CHV_buffer[], byte unblock_flag); <dp n="d57"/> static native byte GetFileStatus (); static native byte SetFileStatus (byte file_status); static native byte GrantSupervisorMode(); static native byte RevokeSupervisorMode(); static native byte SetFileACL (byte file_acl[]); static native byte GetFileACL (byte file_acl[]); ∥文件上下文操作 static native void InitFileStatus(); static native void BackupFileStatus(); static native void RestoreFileStatus(); ∥实用程序 static native byte CompareBuffer (byte patterm_length, byte buffer_1[], byte buffer_2[]); static native short AvailableMemory (); static native void ResetCard (byte mode); static native byte SendATR (); static native byte SetDefaultATR (byte buffer□, byte length); static native byte Execute (short file_id, byte flag); ∥全局状态变量函数 static native byte Getldentity (); static native byte GetRecordNb (); static native short GetApplicationld (); static native byte GetRecordLength (); static native byte GetFileType (); static native short GetFileLength (); static native void SendStatus (byte status); <dp n="d58"/> }
/* *字节代码译码信息表。该表内容是字节代码类型和 *字节代码长度。当前支持代码0-201的所有 *标准字节代码(共202个代码) */ #define T_ 0 #define T3 1 #define T6 2 #define T1 3 #define T2 4 #define T7 5 #define T9 6 #define T8 7 #define T12 8 #define T10 9 #define T5 10 #define T11 11 #define T16 12 #define T4 13 #define T13 14 #define T14 15 #define T15 16 #define D(T,L) _BUILD_ITYPE_AND_ILENGTH(T,L) #define _BUILD_ITYPE_AND_ILENGTH(T,L) (_BUILD_ITYPE(T)I_BUILD_ILENGTH(L)) #define _BUILD_ITYPE(T) ((T)<<3) #define _BUILD_ILENGTH(L) (L) #define _GET_ITYPE(I) ((I)&0×F8) #define _GET_ILENGTH(I) ((I)&0×07) <dp n="d61"/> const uint8_SCODE_decodeinfo[256]={ D(T4,1), /* NOP */ D(T11,1), /* ACONST_NULL */ D(T10,1), /* ICONST_M1 */ D(T10,1), /* ICONST_0 */ D(T10,1), /* ICONST_1 */ D(T10,1), /* ICONST_2 */ D(T10,1), /* ICONST_3 */ D(T10,1), /* ICONST_4 */ D(T10,1), /* ICONST_5 */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T10,2), /* BIPUSH */ D(T10,3), /* SIPUSH */ D(T_,2), /* LDC1 */ D(T11,3), /* LDC2 */ D(T_,3), D(T5,2), /*ILOAD */ D(T_,2), D(T_,2), D(T_,2), D(T5,2), /*ALOAD */ D(T5,1), /*ILOAD_0 */ D(T5,1), /*ILOAD_1 */ D(T5,1), /*ILOAD_2 */ D(T5,1), /*ILOAD_3 */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), <dp n="d62"/> D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T5,1), /*ALOAD_0 */ D(T5,1), /*ALOAD_1 */ D(T5,1), /*ALOAD_2 */ D(T5,1), /*ALOAD_3 */ D(T_,1), /*IALOAD */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), /*AALOAD */ D(T7,1), /*BALOAD */ D(T_,1), /*CALOAD */ D(T7,1), /*SALOAD */ D(T2,2), /*ISTORE */ D(T_,2), D(T_,2), D(T_,2), D(T8,2), /*ASTORE */ D(T2,1), /*ISTORE_0 */ D(T2,1), /*ISTORE_1 */ D(T2,1), /*ISTORE_2 */ D(T2,1), /*ISTORE_3 */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), <dp n="d63"/> D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T8,1), /*ASTORE_0 */ D(T8,1), /*ASTORE_1 */ D(T8,1), /*ASTORE_2 */ D(T8,1), /*ASTORE_3 */ D(T_,1), /*IASTORE */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), /*AASTORE */ D(T6,1), /*BASTORE */ D(T_,1), /*CASTORE */ D(T6,1), /*SASTORE */ D(T2,1), /*POP */ D(T3,1), /*POP2 */ D(T13,1), /*DUP */ D(T13,1), /*DUP_X1 */ D(T13,1), /*DUP_X2 */ D(T13,1), /*DUP2 */ D(T13,1), /*DUP2_X1 */ D(T13,1), /*DUP2_X2 */ D(T13,1), /*SWAP */ D(T1,1), /*IADD */ D(T_,1), D(T_,1), D(T1,1), D(T_,1), /*ISUB */ D(T_,1), D(T_,1), D(T_,1), <dp n="d64"/> D(T1,1), /*IMUL */ D(T_,1), D(T_,1), D(T_,1), D(T1,1), /*IDIV */ D(T_,1), D(T_,1), D(T_,1), D(T1,1), /*IREM */ D(T_,1), D(T_,1), D(T_,1), D(T9,1), /* INEG */ D(T_,1), D(T_,1), D(T_,1), D(T1,1), /* ISHL */ D(T_,1), D(T1,1), /*ISHR */ D(T_,1), D(T1,1), /*IUSHR */ D(T_,1), D(T1,1), /*IAND */ D(T_,1), D(T1,1), /*IOR */ D(T_,1), D(T1,1), /*IXOR */ D(T_,1), D(T4,3), /* IINC */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), <dp n="d65"/> D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T9,1), /*INT2BYTE */ D(T9,1), /*INT2CHAR */ D(T_,1), /*INT2SHORT */ D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T2,3), /*IFEQ */ D(T2,3), /*IFNE */ D(T2,3), /*IFLT */ D(T2,3), /*IFGE */ D(T2,3), /*IFGT */ D(T2,3), /*IFLT */ D(T3,3), /*IF_ICMPEQ */ D(T3,3), /*IF_ICMPNE */ D(T3,3), /*IF_ICMPLT */ D(T3,3), /*IF_ICMPGE */ D(T3,3), /*IF_ICMPGT */ D(T3,3), /*IF_ICMPLE */ D(T3,3), /*IF_ACMPEQ */ D(T3,3), /*IF_ACMPNE */ D(T4,3), /*GOTO */ D(T_,3), /*JSR */ D(T_,2), /*RET */ D(T2,0), /*TABLESWITCH */ D(T2,0), /*LOOKUPSWITCH*/ D(T2,1), /*IRETURN */ D(T_,1), <dp n="d66"/> D(T_,1), D(T_,1), D(T8,1), /* ARETURN */ D(T4,1), /*RETURN */ D(T15,3), /*GETSTATIC */ D(T15,3), /*PUTSTATIC */ D(T15,3), /*GETFIELD */ D(T15,3), /*PUTFIELD */ D(T14,3), /*INVOKEVIRTUAL */ D(T14,3), /*INVOKESPECIAL */ D(T14,3), /*INVOKESTATIC */ D(T14,5), /*INVOKEINTERFACE */ D(T_,1), D(T11,3), /* NEW */ D(T16,2), /* NEWARRAY */ D(T_,3), D(T12,1), /*ARRAYLENGTH */ D(T8,1), /* ATHROW */ D(T16,3), /* CHECKCAST */ D(T12,3), /* INSTANCEOF */ D(T_,1), D(T_,1), D(T_,1), D(T_,4), D(T8,3), /*IFNULL */ D(T8,3), /*IFNONNULL */ D(T_,5), D(T_,5), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), <dp n="d67"/> D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), <dp n="d68"/> D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), D(T_,1), };
pcarg1=_GET_ILENGTH(_decodeinfo[insn]); itype=_GET_ITYPE(_decodeinfo[insn]); 根据以下内容进行一些执行前检查: /* 根据指令类型来检查输入堆栈类型 */ if(itype<=ITYPE9){ if(itype<=ITYPE1){ check_stack_int(1); } check_stack_int(0); } else if(itype<=ITYPE12){ check_stack_ref(0); } else if(itype<ITYPE11){ push(1); } 最后,进行一些执行后的检查: /* 设置输出状态 */ if(itype<=ITYPE8){ if(itype<=ITYPE6){ if (itype>=ITYPE6){ pop(1); } <dp n="d70"/> pop(1); } pop(1); } else if(itype<=ITYPE10){ set_stack_int(0); } else if(itype>=ITYPE11 && itype<=ITYPE16){ set_stack_ref(0); }
/* *检查输入堆栈状态。通过对字节代码重新编号, *如果字节代码的值(因此字节代码)属于正确的 *组,则能通过测试而进行必需的安全检查。 */ if(insn<=TYPE9_END){ if(insn<=TYPE1_END){ check_stack_int(1); } check_stack_int(0); } else if(insn<=TYPE12_END){ check_stack_ref(0); } else if(insn<=TYPE11_END){ push(1) } 最后,进行一些执行后检查: /* <dp n="d72"/> *设置输出堆栈状态。 */ if(insn<=TYPE8_END){ if(insn<=TYPE6_END){ if(insn>=TYPE6_START){ pop(1); } pop(1); } pop(1); } else if(insn<=TYPE10_END){ set_stack_int(0); } else if(insn>=TYPE11_START && insn<=TYPE16_END){ set_stack_ref(0); } <dp n="d73"/> 按类型来对所支持的Java字节代码进行重定序 /*类型3*/ #define s_POP2 0 #define s_IF_ICMPEQ 1 #define s_IF_ICMPNE 2 #define s_IF_ICMPLT 3 #define s_IF_ICMPGE 4 #define s_IF_ICMPGT 5 #define s_IF_ICMPLE 6 #define s_IF_ACMPEQ 7 #define s_IF_ACMPNE 8 /*类型6*/ #define TYPE6_START 9 #define s_SASTORE 9 #define s_AASTORE 10 #define s_BASTORE 11 #define TYPE6_END 12 /*类型1*/ #define s_IADD 13 #define s_ISUB 14 #define s_IMUL 15 #define s_IDIV 16 #define s_IREM 17 #define s_ISHL 18 #define s_ISHR 19 #define s_IUSHR 20 #define s_IAND 21 <dp n="d74"/> #define s_IOR 22 #define s_IXOR 23 #define TYPE1_END 23 /*类型2*/ #define s_ISTORE 24 #define s_POP 25 #define s_IFEQ 26 #define s_IFNE 27 #define s_IFLT 28 #define s_IFGE 29 #define s_IFGT 30 #define s_IFLE 31 #define s_TABLESWITCH 32 #define s_LOOKUPSWITCH 33 #define s_IRETURN 34 /*类型7*/ #define s_SALOAD 35 #define s_AALOAD 36 #define s_BALOAD 37 /*类型9*/ #define s_INEG 39 #define s_INT2BYTE 40 #define s_INT2CHAR 41 #define TYPE9_END 41 /*类型8*/ <dp n="d75"/> #define s_ASTORE 42 #define s_ARETURN 43 #define s_ATHROW 44 #define s_IFNULL 45 #define s_IFNONNULL 46 #define TYPE8_END 46 /*类型12*/ #define s_ARRAYLENGTH 47 #define s_INSTANCEOF 48 #define TYPE12_END 48 /*类型10*/ #define s_SIPUSH 49 #define TYPE10_END 49 /*类型5*/ #define s_ILOAD 50 #define s_ALOAD 51 /*类型11*/ #define TYPE11_START 52 #define s_ACONST_NULL 52 #define s_LDC2 53 #define s_JSR 54 #define s_NEW 55 <dp n="d76"/> #define TYPE11_END 55 /*类型16*/ #define s_NEWARRAY 56 #define s_CHECKCAST 57 #define TYPE16_END 57 /*类型13*/ #define s_DUP 58 #define s_DUP_X1 59 #define s_DUP_X2 60 #define s_DUP2 61 #define s_DUP2_X1 62 #define s_DUP2_X2 63 #define s_SWAP 64 /*类型14*/ #define s_INVOKEVIRTUAL 65/*01000001*/ #define s_INVOKENONVIRTUAL 66/*01000010*/ #define s_INVOKESTATIC 67/*01000011*/ #define s_INVOKEINTERFACE 68/*01000100*/ /*类型15*/ #define s_GETSTATIC 69 #define s_PUTSTATIC 70 #define s_GETFIELD 71 #define s_PUTFIELD 72 /*类型4*/ <dp n="d77"/> #define s_NOP 73 #define s_IINC 74 #define s_GOTO 75 #define s_RET 76 #define s_RETURN 77
Claims (105)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2905796P | 1996-10-25 | 1996-10-25 | |
US60/029,057 | 1996-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1242086A true CN1242086A (zh) | 2000-01-19 |
CN1183449C CN1183449C (zh) | 2005-01-05 |
Family
ID=21846980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971810370A Expired - Lifetime CN1183449C (zh) | 1996-10-25 | 1997-10-22 | 用微控制器使用高级程序设计语言 |
Country Status (15)
Country | Link |
---|---|
US (7) | US6308317B1 (zh) |
EP (1) | EP0932865B1 (zh) |
JP (2) | JP2000514584A (zh) |
KR (1) | KR100329063B1 (zh) |
CN (1) | CN1183449C (zh) |
AU (1) | AU722463B2 (zh) |
BR (1) | BR9713267A (zh) |
DE (1) | DE69714752C5 (zh) |
ES (1) | ES2184066T3 (zh) |
HK (1) | HK1021762A1 (zh) |
MY (1) | MY126363A (zh) |
PT (1) | PT932865E (zh) |
TW (1) | TW476914B (zh) |
WO (1) | WO1998019237A1 (zh) |
ZA (1) | ZA979479B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308547B (zh) * | 2007-05-17 | 2013-07-17 | 因卡特有限公司 | 控制用于ic卡的小应用程序运行的方法 |
CN108966235A (zh) * | 2018-06-20 | 2018-12-07 | 融慧金科金融服务外包(北京)有限公司 | Ios用户的网络身份证rhidfa及其运行方法 |
Families Citing this family (289)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT757336E (pt) | 1995-08-04 | 2001-04-30 | Belle Gate Invest B V | Sistema de intercambio de dados que inclui unidades portateis de processamento de dados |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
KR100329063B1 (ko) | 1996-10-25 | 2002-03-18 | 디디어 레묀 | 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용 |
WO1998041918A1 (en) * | 1997-03-14 | 1998-09-24 | Ian Charles Ogilvy | Method and apparatus for controlling communications |
DE59804818D1 (de) | 1997-06-27 | 2002-08-22 | Swisscom Mobile Ag | Transaktionsverfahren mit einem tragbaren Identifizierungselement |
US6157966A (en) * | 1997-06-30 | 2000-12-05 | Schlumberger Malco, Inc. | System and method for an ISO7816 complaint smart card to become master over a terminal |
US6230006B1 (en) | 1997-09-08 | 2001-05-08 | Acterna, Llc | Test system for remotely testing switches within a telecommunications network |
US6564995B1 (en) | 1997-09-19 | 2003-05-20 | Schlumberger Malco, Inc. | Smart card application-selection |
US6736325B1 (en) * | 1998-01-22 | 2004-05-18 | Mondex International Limited | Codelets |
US6308270B1 (en) | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
JP3632598B2 (ja) * | 1998-03-23 | 2005-03-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 変更定数プールを備えたJavaランタイム・システム |
FR2779018B1 (fr) | 1998-05-22 | 2000-08-18 | Activcard | Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees |
US6808111B2 (en) | 1998-08-06 | 2004-10-26 | Visa International Service Association | Terminal software architecture for use with smart cards |
US7020441B2 (en) * | 1998-09-03 | 2006-03-28 | Casabyte, Inc. | Test system for remotely testing switches within a telecommunications network |
CA2345794A1 (en) | 1998-09-29 | 2000-04-06 | Sun Microsystems, Inc. | Superposition of data over voice |
US6591229B1 (en) | 1998-10-09 | 2003-07-08 | Schlumberger Industries, Sa | Metrology device with programmable smart card |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
US7139915B2 (en) * | 1998-10-26 | 2006-11-21 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US7194092B1 (en) | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US7174457B1 (en) * | 1999-03-10 | 2007-02-06 | Microsoft Corporation | System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party |
AU770251B2 (en) * | 1998-11-03 | 2004-02-19 | Thomson Licensing S.A. | Method and apparatus for updating computer code using an integrated circuit interface |
FR2785695B1 (fr) * | 1998-11-06 | 2003-01-31 | Bull Cp8 | Procede de compactage d'un programme de type code objet intermediaire executable dans un systeme embarque muni de ressources de traitement de donnees, systeme compacteur et systeme embarque multi-applications correspondants |
JP3749798B2 (ja) * | 1998-12-01 | 2006-03-01 | 株式会社東芝 | Icカードにおけるデータ書込方法およびicカードにおけるデータ読込方法 |
US6581206B2 (en) * | 1999-11-12 | 2003-06-17 | Sun Microsystems, Inc. | Computer program language subset validation |
US6922835B1 (en) * | 1999-01-22 | 2005-07-26 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges |
US7093122B1 (en) * | 1999-01-22 | 2006-08-15 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier in a small footprint device using shared object interfaces |
US6425003B1 (en) * | 1999-01-22 | 2002-07-23 | Cisco Technology, Inc. | Method and apparatus for DNS resolution |
US6907608B1 (en) | 1999-01-22 | 2005-06-14 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier in a small footprint device using global data structures |
US6823520B1 (en) | 1999-01-22 | 2004-11-23 | Sun Microsystems, Inc. | Techniques for implementing security on a small footprint device using a context barrier |
US6633984B2 (en) * | 1999-01-22 | 2003-10-14 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier on a small footprint device using an entry point object |
SE9900321L (sv) * | 1999-02-01 | 2000-08-02 | Mats Iderup | Sätt och anordning vid utbyte av information |
US6880155B2 (en) * | 1999-02-02 | 2005-04-12 | Sun Microsystems, Inc. | Token-based linking |
US7200842B1 (en) * | 1999-02-02 | 2007-04-03 | Sun Microsystems, Inc. | Object-oriented instruction set for resource-constrained devices |
US6848111B1 (en) * | 1999-02-02 | 2005-01-25 | Sun Microsystems, Inc. | Zero overhead exception handling |
AU3346400A (en) * | 1999-02-05 | 2000-08-25 | Cyrus Intersoft, Inc. | Instrumenting streamed classes |
FR2790629A1 (fr) * | 1999-02-19 | 2000-09-08 | Bull Cp8 | Procede d'activation d'applications localisees dans une carte a puce par un navigateur du type dit "web" |
US7127605B1 (en) * | 1999-05-10 | 2006-10-24 | Axalto, Inc. | Secure sharing of application methods on a microcontroller |
US6845498B1 (en) * | 1999-05-11 | 2005-01-18 | Microsoft Corporation | Method and apparatus for sharing data files among run time environment applets in an integrated circuit card |
US6547150B1 (en) * | 1999-05-11 | 2003-04-15 | Microsoft Corporation | Smart card application development system and method |
US6938244B1 (en) | 1999-05-11 | 2005-08-30 | Microsoft Corp. | Interlaced protocol for smart card application development |
WO2000068902A1 (en) * | 1999-05-11 | 2000-11-16 | Microsoft Corporation | Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
WO2000070417A1 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
DE29908783U1 (de) * | 1999-05-19 | 1999-09-09 | Me Technology Europe GmbH, 04430 Dölzig | Eingabegerät für Geschäftsvorfälle |
US6668271B1 (en) | 1999-05-19 | 2003-12-23 | Richo Company, Ltd. | System for distributing, installing and running web applications (agents) |
US6546546B1 (en) * | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
FR2794543B1 (fr) * | 1999-06-04 | 2001-08-24 | Gemplus Card Int | Migration de differents langages sources vers un support d'execution |
CA2391826A1 (en) | 1999-06-10 | 2000-12-21 | Belle Gate Investment B.V. | Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6463521B1 (en) * | 1999-06-23 | 2002-10-08 | Sun Microsystems, Inc. | Opcode numbering for meta-data encoding |
FR2795835B1 (fr) * | 1999-07-01 | 2001-10-05 | Bull Cp8 | Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce |
US7908216B1 (en) | 1999-07-22 | 2011-03-15 | Visa International Service Association | Internet payment, authentication and loading system using virtual smart card |
US6684389B1 (en) * | 1999-08-05 | 2004-01-27 | Canon Kabushiki Kaisha | Compiler that decrypts encrypted source code |
US7376583B1 (en) | 1999-08-10 | 2008-05-20 | Gofigure, L.L.C. | Device for making a transaction via a communications link |
AU6631600A (en) * | 1999-08-11 | 2001-03-05 | Spinware, Inc. | System and method for controlling access to data stored in portable storage medium |
FR2797963B1 (fr) * | 1999-08-23 | 2002-11-29 | Trusted Logic | Protocole de gestion, procede de verification et de transformation d'un fragment de programme telecharge et systemes correspondants |
US6560774B1 (en) * | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
KR20010050212A (ko) * | 1999-09-13 | 2001-06-15 | 스테븐 디.피터스 | 메모리 카드에 기록된 파일에 대한 접근 제어 시스템 |
GB9921720D0 (en) | 1999-09-14 | 1999-11-17 | Tao Group Ltd | Loading object-oriented computer programs |
US7231411B1 (en) * | 1999-09-15 | 2007-06-12 | Koninklijke Philips Electronics N.V. | Removable card system with downloadable agent for communicating with a digital television receiver or other host device |
WO2001029762A2 (en) * | 1999-10-20 | 2001-04-26 | Spyrus, Inc. | Method and system for an integrated circuit card interface device with multiple modes of operation |
GB9925227D0 (en) | 1999-10-25 | 1999-12-22 | Internet Limited | Data storage retrieval and access system |
GB2356268B (en) | 1999-11-10 | 2004-08-18 | Mars Inc | Value transaction systems |
US7207037B2 (en) * | 1999-11-12 | 2007-04-17 | Sun Microsystems, Inc. | Overflow sensitive arithmetic instruction optimization using chaining |
US7158993B1 (en) | 1999-11-12 | 2007-01-02 | Sun Microsystems, Inc. | API representation enabling submerged hierarchy |
US7010786B2 (en) | 1999-11-12 | 2006-03-07 | Sun Microsystems, Inc. | Predictive arithmetic overflow detection |
US8453133B2 (en) * | 1999-11-12 | 2013-05-28 | Oracle America, Inc. | Optimization of N-base typed arithmetic instructions via rework |
US6363523B1 (en) * | 1999-11-12 | 2002-03-26 | Sun Microsystems, Inc. | Optimization of N-base typed arithmetic expressions |
US7107581B2 (en) * | 1999-11-12 | 2006-09-12 | Sun Microsystems, Inc. | Overflow predictive arithmetic instruction optimization using chaining |
FR2801118B1 (fr) * | 1999-11-17 | 2001-12-21 | Bull Cp8 | Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque |
WO2001039464A1 (de) * | 1999-11-19 | 2001-05-31 | Swisscom Mobile Ag | Anpassbare chipkarte |
WO2001040910A1 (en) | 1999-12-06 | 2001-06-07 | De Jong, Eduard, Karel | Computer arrangement using non-refreshed dram |
AU777437B2 (en) | 1999-12-07 | 2004-10-14 | Sun Microsystems, Inc. | Secure photo carrying identification device, as well as means and method for authenticating such an identification device |
US7080261B1 (en) | 1999-12-07 | 2006-07-18 | Sun Microsystems, Inc. | Computer-readable medium with microprocessor to control reading and computer arranged to communicate with such a medium |
US6757824B1 (en) * | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
FR2802319B1 (fr) | 1999-12-10 | 2004-10-01 | Gemplus Card Int | Controle d'acces par capacites pour des applications notamment cooperantes dans une carte a puce |
US20010007146A1 (en) * | 1999-12-23 | 2001-07-05 | Uwe Hansmann | Method for providing a set of software components |
FR2804819B1 (fr) | 2000-02-03 | 2002-05-03 | Gemplus Card Int | Gestion de temps au niveau communication pour entite du type carte a puce |
FR2805062B1 (fr) | 2000-02-10 | 2005-04-08 | Bull Cp8 | Procede de transmission de flux de donnees a haut debit sur un reseau de type internet entre un serveur et un terminal a carte a puce, notamment d'un flux de donnees multimedia |
US6748592B1 (en) * | 2000-02-14 | 2004-06-08 | Xoucin, Inc. | Method and apparatus for protectively operating a data/information processing device |
AU2001238541A1 (en) * | 2000-02-17 | 2001-08-27 | Interactive Video Technologies, Inc. | Incremental bootstrap class loader |
GB0003920D0 (en) | 2000-02-21 | 2000-04-05 | Ncipher Corp Limited | Computer system |
US6813762B1 (en) * | 2000-02-22 | 2004-11-02 | Freescale Semiconductor, Inc. | Method for processing program files in a programming language capable of dynamic loading |
JP4509291B2 (ja) * | 2000-03-30 | 2010-07-21 | 大日本印刷株式会社 | Icカード、icカードのプログラム更新装置、および、その方法 |
US6651186B1 (en) | 2000-04-28 | 2003-11-18 | Sun Microsystems, Inc. | Remote incremental program verification using API definitions |
US6986132B1 (en) | 2000-04-28 | 2006-01-10 | Sun Microsytems, Inc. | Remote incremental program binary compatibility verification using API definitions |
US6883163B1 (en) | 2000-04-28 | 2005-04-19 | Sun Microsystems, Inc. | Populating resource-constrained devices with content verified using API definitions |
FR2812101A1 (fr) * | 2000-07-24 | 2002-01-25 | Bull Cp8 | Protocole d'echange de messages entre applications implantees sur un systeme embarque, et systeme embarque correspondant |
US6675338B1 (en) | 2000-08-09 | 2004-01-06 | Sun Microsystems, Inc. | Internally generated vectors for burnin system |
US6981245B1 (en) | 2000-09-14 | 2005-12-27 | Sun Microsystems, Inc. | Populating binary compatible resource-constrained devices with content verified using API definitions |
JP2002091762A (ja) * | 2000-09-14 | 2002-03-29 | Denso Corp | プログラム生成装置 |
JP2002117381A (ja) * | 2000-10-05 | 2002-04-19 | Dainippon Printing Co Ltd | Icカード |
FR2815801B1 (fr) * | 2000-10-20 | 2004-10-29 | Trusted Logic | Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US20020108054A1 (en) * | 2001-02-02 | 2002-08-08 | Moore Christopher S. | Solid-state memory device storing program code and methods for use therewith |
WO2002063576A1 (en) * | 2001-02-08 | 2002-08-15 | Nokia Corporation | Smart card reader |
US7080373B2 (en) * | 2001-03-07 | 2006-07-18 | Freescale Semiconductor, Inc. | Method and device for creating and using pre-internalized program files |
FR2822334A1 (fr) * | 2001-03-16 | 2002-09-20 | Schlumberger Systems & Service | Module d'idente d'abonne a gestion independante et securisee d'une pluralite de commandes d'au moins une appliquette, notamment pour un equipement mobile de communication |
US6971001B1 (en) * | 2001-05-17 | 2005-11-29 | Accenture Global Services Gmbh | General and reusable components for defining net-centric application program architectures |
AU2006200734B2 (en) * | 2001-05-17 | 2007-12-13 | Accenture Global Services Limited | Pipeline architecture for use with net-centric application program architectures |
US8209753B2 (en) * | 2001-06-15 | 2012-06-26 | Activcard, Inc. | Universal secure messaging for remote security tokens |
US20040218762A1 (en) | 2003-04-29 | 2004-11-04 | Eric Le Saint | Universal secure messaging for cryptographic modules |
EP1417602A4 (en) * | 2001-08-13 | 2007-08-22 | Qualcomm Inc | ACCESS PRIVILEGES FOR A MEMORY AREA IN A COMPUTER DEVICE AT APPLICATION LEVEL |
US7155702B2 (en) * | 2001-09-13 | 2006-12-26 | Axalto Sa | Interface and stub generation for code distribution and synthesis |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US7085840B2 (en) | 2001-10-29 | 2006-08-01 | Sun Microsystems, Inc. | Enhanced quality of identification in a data communications network |
US20030084302A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystems, Inc., A Delaware Corporation | Portability and privacy with data communications network browsing |
US20030084172A1 (en) * | 2001-10-29 | 2003-05-01 | Sun Microsystem, Inc., A Delaware Corporation | Identification and privacy in the World Wide Web |
US7275260B2 (en) | 2001-10-29 | 2007-09-25 | Sun Microsystems, Inc. | Enhanced privacy protection in identification in a data communications network |
JP4055393B2 (ja) * | 2001-10-30 | 2008-03-05 | ソニー株式会社 | データ処理装置およびその方法とプログラム |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7243853B1 (en) | 2001-12-04 | 2007-07-17 | Visa U.S.A. Inc. | Method and system for facilitating memory and application management on a secured token |
CA2472740A1 (en) * | 2002-01-11 | 2003-07-17 | Sierra Wireless, Inc. | Host extensible wireless application interface |
EP1355268B1 (en) * | 2002-02-28 | 2006-04-05 | Matsushita Electric Industrial Co., Ltd. | Memory card |
US20100174717A1 (en) * | 2002-02-28 | 2010-07-08 | Olivier Fambon | Interative serialisation procedure for structured software objects |
US8769517B2 (en) * | 2002-03-15 | 2014-07-01 | International Business Machines Corporation | Generating a common symbol table for symbols of independent applications |
US6996802B2 (en) | 2002-03-18 | 2006-02-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using initialization order and calling order constraints |
US7010783B2 (en) | 2002-03-18 | 2006-03-07 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation |
US7181737B2 (en) | 2002-03-18 | 2007-02-20 | Sun Microsystems, Inc. | Method and apparatus for deployment of high integrity software using static procedure return addresses |
US6912633B2 (en) | 2002-03-18 | 2005-06-28 | Sun Microsystems, Inc. | Enhanced memory management for portable devices |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
DE10216602A1 (de) * | 2002-04-15 | 2003-10-30 | Giesecke & Devrient Gmbh | Optimierung von compilergeneriertem Programmcode |
US7890771B2 (en) | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US6836670B2 (en) * | 2002-05-09 | 2004-12-28 | Casabyte, Inc. | Method, apparatus and article to remotely associate wireless communications devices with subscriber identities and /or proxy wireless communications devices |
FR2840084A1 (fr) * | 2002-05-27 | 2003-11-28 | Gemplus Card Int | Procede de verification de codes pour microcircuits a ressources limitees |
NO20023194D0 (no) * | 2002-07-01 | 2002-07-01 | Sospita As | Fremgangsmåte og apparatur for eksekvering av programvareapplikasjoner i et multiprosessormiljö |
US20040122774A1 (en) * | 2002-08-02 | 2004-06-24 | Martin Studd | Method and system for executing applications on a mobile device |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
ATE383023T1 (de) | 2002-09-16 | 2008-01-15 | Ericsson Telefon Ab L M | Sicherer zugang zu einem teilnehmermodul |
KR100952269B1 (ko) * | 2002-09-16 | 2010-04-09 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 가입 모듈로의 안전 접근 |
US20040139021A1 (en) * | 2002-10-07 | 2004-07-15 | Visa International Service Association | Method and system for facilitating data access and management on a secure token |
US6904591B2 (en) * | 2002-11-01 | 2005-06-07 | Oz Development, Inc. | Software development system for editable executables |
FR2846770B1 (fr) * | 2002-11-04 | 2005-01-28 | Oberthur Card Syst Sa | Carte a microcircuit comportant des moyens de publication de ses objets informatiques |
CN1276363C (zh) * | 2002-11-13 | 2006-09-20 | 深圳市朗科科技有限公司 | 借助半导体存储装置实现数据安全存储和算法存储的方法 |
US20040123152A1 (en) * | 2002-12-18 | 2004-06-24 | Eric Le Saint | Uniform framework for security tokens |
US7484095B2 (en) | 2003-01-16 | 2009-01-27 | Sun Microsystems, Inc. | System for communicating program data between a first device and a second device |
US7222331B2 (en) | 2003-01-16 | 2007-05-22 | Sun Microsystems, Inc. | Linking of virtual methods |
US20040143739A1 (en) * | 2003-01-16 | 2004-07-22 | Sun Mircosystems, Inc., A Delaware Corporation | Run time code integrity checks |
US7165246B2 (en) | 2003-01-16 | 2007-01-16 | Sun Microsystems, Inc. | Optimized representation of data type information in program verification |
US7281244B2 (en) | 2003-01-16 | 2007-10-09 | Sun Microsystems, Inc. | Using a digital fingerprint to commit loaded data in a device |
US8121955B2 (en) * | 2003-01-16 | 2012-02-21 | Oracle America, Inc. | Signing program data payload sequence in program loading |
US7272830B2 (en) | 2003-01-16 | 2007-09-18 | Sun Microsystems, Inc. | Ordering program data for loading on a device |
CN100388191C (zh) | 2003-04-01 | 2008-05-14 | 松下电器产业株式会社 | 程序连接方法、装置以及终端装置 |
US20040199787A1 (en) * | 2003-04-02 | 2004-10-07 | Sun Microsystems, Inc., A Delaware Corporation | Card device resource access control |
US20040221174A1 (en) * | 2003-04-29 | 2004-11-04 | Eric Le Saint | Uniform modular framework for a host computer system |
US7328432B2 (en) * | 2003-06-02 | 2008-02-05 | Sun Microsystems, Inc. | Proximity-based addressing for supporting in-place execution in virtual machines |
US7184756B2 (en) * | 2003-06-12 | 2007-02-27 | Motorola Inc. | Wireless communication device with tamper resistant configuration settings |
WO2005007258A1 (en) * | 2003-07-23 | 2005-01-27 | Koninklijke Philips Electronics N.V. | Device to process program codes |
US10437964B2 (en) * | 2003-10-24 | 2019-10-08 | Microsoft Technology Licensing, Llc | Programming interface for licensing |
CH716409B1 (de) * | 2003-11-12 | 2021-01-29 | Legic Identsystems Ag | Verfahren zum Einschreiben einer Datenorganisation in Identifikationsmedien und zum Einschreiben und Ausführen von Applikationen in der Datenorganisation. |
DE10357257A1 (de) | 2003-12-08 | 2005-06-30 | Giesecke & Devrient Gmbh | Java Smart Card Chip mit für globale Variablen reserviertem Speicherbereich |
US20050138380A1 (en) | 2003-12-22 | 2005-06-23 | Fedronic Dominique L.J. | Entry control system |
US7907935B2 (en) * | 2003-12-22 | 2011-03-15 | Activcard Ireland, Limited | Intelligent remote device |
FR2864398A1 (fr) * | 2003-12-23 | 2005-06-24 | France Telecom | Terminal de telecommunication a deux espaces d'execution |
US7339513B1 (en) | 2004-02-10 | 2008-03-04 | Zilog, Inc. | Interpreting a script to generate an operational signal on a remote control device |
US7436345B1 (en) * | 2004-02-10 | 2008-10-14 | Zilog, Inc. | Script instruction for jumping to a location, interpreting a predetermined number of instructions and then jumping back |
US7259696B1 (en) * | 2004-02-10 | 2007-08-21 | Zilog, Inc. | Interactive web-based codeset selection and development tool |
US7227492B1 (en) * | 2004-02-10 | 2007-06-05 | Zilog, Inc. | Interpreting a common script block to output various forms of data according to a common protocol |
US7091857B2 (en) * | 2004-02-12 | 2006-08-15 | Mi-Jack Products, Inc. | Electronic control system used in security system for cargo trailers |
US7374099B2 (en) | 2004-02-24 | 2008-05-20 | Sun Microsystems, Inc. | Method and apparatus for processing an application identifier from a smart card |
US7165727B2 (en) | 2004-02-24 | 2007-01-23 | Sun Microsystems, Inc. | Method and apparatus for installing an application onto a smart card |
US7140549B2 (en) | 2004-02-24 | 2006-11-28 | Sun Microsystems, Inc. | Method and apparatus for selecting a desired application on a smart card |
US7191288B2 (en) | 2004-02-24 | 2007-03-13 | Sun Microsystems, Inc. | Method and apparatus for providing an application on a smart card |
JP2007526573A (ja) * | 2004-03-04 | 2007-09-13 | アクサルト・エス・アー | リトリーブ可能なトークン(例えば、スマートカード)内の独立した実行環境におけるアプリケーション間のセキュリティで保護されたリソース共有 |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US20050263596A1 (en) * | 2004-05-12 | 2005-12-01 | Solicore, Inc. | Portable charger, including portable sleeve, for an electronically readable card |
US20060041854A1 (en) * | 2004-07-22 | 2006-02-23 | Steven Schlanger | Devices and methods for programming microcontrollers |
US8286125B2 (en) * | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) * | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US7855672B1 (en) | 2004-08-19 | 2010-12-21 | Ixys Ch Gmbh | Compressed codeset database format for remote control devices |
US20060047954A1 (en) * | 2004-08-30 | 2006-03-02 | Axalto Inc. | Data access security implementation using the public key mechanism |
KR100597413B1 (ko) | 2004-09-24 | 2006-07-05 | 삼성전자주식회사 | 자바 바이트코드 변환 방법 및 상기 변환을 수행하는 자바인터프리터 |
US20060080655A1 (en) * | 2004-10-09 | 2006-04-13 | Axalto Inc. | System and method for post-issuance code update employing embedded native code |
FR2877454B1 (fr) * | 2004-11-04 | 2006-12-29 | Gemplus Sa | Procede de chargement d'un code logiciel en langage intermediaire oriente objet dans un appareil portatif |
US7232073B1 (en) | 2004-12-21 | 2007-06-19 | Sun Microsystems, Inc. | Smart card with multiple applications |
JP4215037B2 (ja) * | 2004-12-27 | 2009-01-28 | セイコーエプソン株式会社 | リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法 |
JP2006244451A (ja) * | 2005-02-01 | 2006-09-14 | Seiko Epson Corp | リソース管理システムおよびリソース管理プログラム、並びにリソース管理方法 |
JP4207938B2 (ja) * | 2005-02-01 | 2009-01-14 | セイコーエプソン株式会社 | ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法 |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
JP4311386B2 (ja) * | 2005-02-14 | 2009-08-12 | セイコーエプソン株式会社 | ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置 |
US20060203733A1 (en) * | 2005-02-17 | 2006-09-14 | Casabyte, Inc. | Methods, apparatuses, and articles to remotely test communications networks using digital fingerprints of content |
JP4232767B2 (ja) * | 2005-03-14 | 2009-03-04 | セイコーエプソン株式会社 | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 |
JP4628149B2 (ja) * | 2005-03-14 | 2011-02-09 | 株式会社エヌ・ティ・ティ・ドコモ | アクセス制御装置及びアクセス制御方法 |
DE102005019753A1 (de) * | 2005-04-28 | 2006-11-09 | Braun Gmbh | Blutdruckmessgerät sowie Chipkarte hierfür |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8887295B2 (en) * | 2005-06-27 | 2014-11-11 | Safend Ltd. | Method and system for enabling enterprises to use detachable memory devices that contain data and executable files in controlled and secure way |
US7792289B2 (en) * | 2005-06-28 | 2010-09-07 | Mark Ellery Ogram | Encrypted communications |
US7698703B2 (en) * | 2005-06-29 | 2010-04-13 | Gemalto Inc. | Imparting digital uniqueness to the types of a programming language using a unique digital sequence |
US20070143601A1 (en) * | 2005-12-15 | 2007-06-21 | Arroyo Diana J | System and method for authorizing information flows |
US7647630B2 (en) * | 2005-12-15 | 2010-01-12 | International Business Machines Corporation | Associating security information with information objects in a data processing system |
DE102005061659A1 (de) * | 2005-12-22 | 2007-06-28 | Giesecke & Devrient Gmbh | Sicherung eines tragbaren Datenträgers gegen Angriffe |
FR2895608B1 (fr) * | 2005-12-23 | 2008-03-21 | Trusted Logic Sa | Procede pour la realisation d'un compteur securise sur un systeme informatique embarque disposant d'une carte a puce |
US20070192840A1 (en) * | 2006-02-10 | 2007-08-16 | Lauri Pesonen | Mobile communication terminal |
JP4933292B2 (ja) * | 2006-02-28 | 2012-05-16 | キヤノン株式会社 | 情報処理装置、無線通信方法、記憶媒体、プログラム |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US9092635B2 (en) | 2006-03-31 | 2015-07-28 | Gemalto Sa | Method and system of providing security services using a secure device |
US20080052770A1 (en) * | 2006-03-31 | 2008-02-28 | Axalto Inc | Method and system of providing security services using a secure device |
DE102006023436A1 (de) * | 2006-05-18 | 2007-11-22 | Giesecke & Devrient Gmbh | Authentisierung für entfernte Funktionsaufrufe |
EP1860589B1 (en) * | 2006-05-26 | 2013-11-27 | Incard SA | Method for accessing structured data in IC Cards |
EP1881404A1 (fr) * | 2006-07-20 | 2008-01-23 | Gemplus | Procédé de protection dynamique des données lors de l'exécution d'un code logiciel en langage intermédiaire dans un appareil numérique |
US7817799B2 (en) * | 2006-09-07 | 2010-10-19 | International Business Machines Corporation | Maintaining encryption key integrity |
EP1936574A1 (en) * | 2006-12-01 | 2008-06-25 | Cassis International PTE Ltd. | CAP file for the personalisation of a Java application |
US7971061B2 (en) * | 2006-12-11 | 2011-06-28 | Pitney Bowes Inc. | E-mail system and method having certified opt-in capabilities |
US8285329B1 (en) | 2007-04-02 | 2012-10-09 | Sprint Communications Company L.P. | Mobile device-based control of smart card operation |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US7737724B2 (en) * | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US8249654B1 (en) * | 2007-09-27 | 2012-08-21 | Sprint Communications Company L.P. | Dynamic smart card application loading |
US9883381B1 (en) | 2007-10-02 | 2018-01-30 | Sprint Communications Company L.P. | Providing secure access to smart card applications |
JP5262089B2 (ja) * | 2007-11-30 | 2013-08-14 | 凸版印刷株式会社 | Icカードに実装されるコンピュータ装置及びその処理方法 |
CN101520733B (zh) * | 2008-02-27 | 2014-04-16 | 国际商业机器公司 | 装载类的方法和装置及重组类存档文件方法 |
CN101256612B (zh) * | 2008-04-01 | 2010-11-03 | 北京飞天诚信科技有限公司 | 基于.Net卡的程序保护方法和系统 |
CN101419549B (zh) * | 2008-05-13 | 2012-04-18 | 飞天诚信科技股份有限公司 | 基于.Net卡查找类和函数的方法和装置 |
WO2009155483A1 (en) | 2008-06-20 | 2009-12-23 | Invensys Systems, Inc. | Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control |
US8806457B2 (en) * | 2008-12-15 | 2014-08-12 | Apple Inc. | Deferred constant pool generation |
US20100211591A1 (en) * | 2009-02-16 | 2010-08-19 | Chuan-Hua Chang | Apparatus for processing strings simultaneously |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US9384063B2 (en) * | 2009-06-18 | 2016-07-05 | Microsoft Technology Licensing, Llc | Eliding synchronization in a concurrent data structure |
JP5449905B2 (ja) * | 2009-07-29 | 2014-03-19 | フェリカネットワークス株式会社 | 情報処理装置、プログラム、および情報処理システム |
JP5607170B2 (ja) * | 2009-11-05 | 2014-10-15 | トラステツド・ロジツク | 安全なポータブルオブジェクト |
KR101054596B1 (ko) * | 2009-11-18 | 2011-08-04 | 에스케이씨앤씨 주식회사 | 자바카드용 마이그레이터를 이용한 메모리 절감 방법 |
US8276188B2 (en) * | 2009-12-03 | 2012-09-25 | Condel International Technologies Inc. | Systems and methods for managing storage devices |
DE102010004446A1 (de) * | 2010-01-13 | 2011-07-14 | Giesecke & Devrient GmbH, 81677 | Verfahren zum Bereitstellen eines sicheren Zählers auf einem Endgerät |
US9052919B2 (en) * | 2010-01-15 | 2015-06-09 | Apple Inc. | Specialized network fileserver |
US8538480B2 (en) * | 2010-03-30 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for device applet management on smart cards |
EP2397998A1 (fr) * | 2010-06-17 | 2011-12-21 | Gemalto SA | Procédé et système de contrôle du traitement de plusieurs flux de communication radiofréquence par une carte à circuits intégrés |
US8732670B1 (en) | 2010-06-29 | 2014-05-20 | Ca, Inc. | Ensuring determinism during programmatic replay in a virtual machine |
US8499299B1 (en) | 2010-06-29 | 2013-07-30 | Ca, Inc. | Ensuring deterministic thread context switching in virtual machine applications |
US8769518B1 (en) | 2010-06-29 | 2014-07-01 | Ca, Inc. | Ensuring determinism during programmatic replay in a virtual machine |
US8959492B2 (en) * | 2010-12-14 | 2015-02-17 | Ngmoco, Llc | Communication protocol between a high-level language and a native language |
US8621168B2 (en) | 2010-12-17 | 2013-12-31 | Google Inc. | Partitioning the namespace of a contactless smart card |
US8352749B2 (en) | 2010-12-17 | 2013-01-08 | Google Inc. | Local trusted services manager for a contactless smart card |
US8807440B1 (en) | 2010-12-17 | 2014-08-19 | Google Inc. | Routing secure element payment requests to an alternate application |
US8533336B1 (en) * | 2011-02-04 | 2013-09-10 | Google Inc. | Automated web frontend sharding |
JP5329602B2 (ja) * | 2011-05-12 | 2013-10-30 | 株式会社三菱東京Ufj銀行 | 端末装置およびプログラム |
EP2535832B1 (en) * | 2011-06-17 | 2017-04-26 | Simulity Labs Ltd | A method for operating a virtual machine over a file system |
US8255687B1 (en) | 2011-09-15 | 2012-08-28 | Google Inc. | Enabling users to select between secure service providers using a key escrow service |
US8171525B1 (en) | 2011-09-15 | 2012-05-01 | Google Inc. | Enabling users to select between secure service providers using a central trusted service manager |
US8313036B1 (en) | 2011-09-16 | 2012-11-20 | Google Inc. | Secure application directory |
CA2854277C (en) | 2011-11-01 | 2016-06-07 | Jvl Ventures, Llc | Systems, methods, and computer program products for managing secure elements |
US9544759B2 (en) | 2011-11-01 | 2017-01-10 | Google Inc. | Systems, methods, and computer program products for managing states |
JP5818695B2 (ja) * | 2012-01-04 | 2015-11-18 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コード変換方法、プログラム及びシステム |
WO2013111490A1 (ja) * | 2012-01-25 | 2013-08-01 | ソニー株式会社 | 情報処理装置、情報処理方法およびコンピュータプログラム |
US8385553B1 (en) | 2012-02-28 | 2013-02-26 | Google Inc. | Portable secure element |
JP5953867B2 (ja) * | 2012-03-26 | 2016-07-20 | 富士ゼロックス株式会社 | プログラム、及びプログラム保護装置 |
ITMI20120561A1 (it) * | 2012-04-05 | 2013-10-06 | St Microelectronics Srl | Metodo per proteggere un programma applicativo |
US8429409B1 (en) | 2012-04-06 | 2013-04-23 | Google Inc. | Secure reset of personal and service provider information on mobile devices |
US20130311382A1 (en) * | 2012-05-21 | 2013-11-21 | Klaus S. Fosmark | Obtaining information for a payment transaction |
US9383448B2 (en) | 2012-07-05 | 2016-07-05 | Deca System Co., Ltd. | Golf GPS device with automatic hole recognition and playing hole selection |
US8676709B2 (en) | 2012-07-31 | 2014-03-18 | Google Inc. | Merchant category codes in a proxy card transaction |
AU2013318245B2 (en) | 2012-09-18 | 2015-11-26 | Google Llc | Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements |
CN104182267B (zh) * | 2013-05-21 | 2019-10-25 | 南京中兴新软件有限责任公司 | 编译方法、解释方法、装置及用户设备 |
EP2843605A1 (en) * | 2013-08-30 | 2015-03-04 | Gemalto SA | Method for authenticating transactions |
US9516006B2 (en) * | 2013-10-23 | 2016-12-06 | Google Inc. | Re-programmable secure cryptographic device |
US9280339B1 (en) * | 2013-12-12 | 2016-03-08 | Amazon Technologies, Inc. | Class replacer during application installation |
EP3215238B1 (en) * | 2014-11-05 | 2019-10-02 | Wwtemplar LLC | Remote control of fire suppression systems |
US10176094B2 (en) | 2015-06-30 | 2019-01-08 | Renesas Electronics America Inc. | Common MCU self-identification information |
US10466977B2 (en) * | 2015-10-11 | 2019-11-05 | Renesas Electronics America Inc. | Data driven embedded application building and configuration |
JP6275098B2 (ja) * | 2015-10-16 | 2018-02-07 | 三菱電機株式会社 | 制御装置およびレジスタの故障復帰方法 |
WO2017209876A1 (en) * | 2016-05-31 | 2017-12-07 | Brocade Communications Systems, Inc. | Buffer manager |
KR101894894B1 (ko) * | 2017-06-16 | 2018-09-05 | 서울대학교산학협력단 | 바이트코드 처리 장치 및 동작 방법 |
CN109840395A (zh) * | 2017-11-24 | 2019-06-04 | 航天信息股份有限公司 | 一种基于Java卡下载应用程序的方法和系统 |
US10698666B2 (en) * | 2017-12-29 | 2020-06-30 | Microsoft Technology Licensing, Llc | Automatically building software projects |
CN110059499A (zh) * | 2019-03-22 | 2019-07-26 | 华为技术有限公司 | 一种文件访问权限认证方法及电子设备 |
US20230401116A1 (en) * | 2022-06-08 | 2023-12-14 | Oracle International Corporation | Logical java card runtime environment |
EP4425328A1 (en) * | 2023-02-28 | 2024-09-04 | STMicroelectronics International N.V. | Method of executing a java card application |
Family Cites Families (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE408455C (de) | 1923-07-15 | 1925-01-19 | Georg Koenig | Verfahren zur fortlaufenden Bestimmung des Heizwerts von Gasgemischen |
FR2386080A1 (fr) | 1977-03-31 | 1978-10-27 | Cii Honeywell Bull | Systeme de comptabilisation d'unites homogenes predeterminees |
US4650975A (en) * | 1984-08-30 | 1987-03-17 | Casio Computer Co., Ltd. | IC card and an identification system thereof |
US4667290A (en) * | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
JPS61204741A (ja) | 1985-03-06 | 1986-09-10 | Nec Corp | ソ−スプログラムの圧縮方法 |
JPH0635227B2 (ja) | 1985-07-31 | 1994-05-11 | トツパン・ム−ア株式会社 | 更新情報と履歴情報の読出し手段を有するicカ−ド |
US4905138A (en) * | 1985-10-17 | 1990-02-27 | Westinghouse Electric Corp. | Meta-interpreter |
US4874935A (en) * | 1986-03-10 | 1989-10-17 | Data Card Coprporation | Smart card apparatus and method of programming same |
GB2191029B (en) | 1986-05-29 | 1990-12-12 | Almex Systems Ltd | Electronic pass |
JPH07104891B2 (ja) | 1986-08-05 | 1995-11-13 | 沖電気工業株式会社 | 取引処理装置 |
US5133072A (en) * | 1986-11-13 | 1992-07-21 | Hewlett-Packard Company | Method for improved code generation in reduced instruction set computers |
JPS63156255A (ja) | 1986-12-19 | 1988-06-29 | Fujitsu Ltd | インタプリタにおけるオ−バレイ方法 |
JPS63156254A (ja) | 1986-12-19 | 1988-06-29 | Fujitsu Ltd | インタプリタにおける中間テキストの管理方法 |
US4777355A (en) | 1986-12-24 | 1988-10-11 | Mitsubishi Denki Kabushiki Kaisha | IC card and system for checking the functionality thereof |
US4791558A (en) * | 1987-02-13 | 1988-12-13 | International Business Machines Corporation | System and method for generating an object module in a first format and then converting the first format into a format which is loadable into a selected computer |
JPS63231692A (ja) * | 1987-03-20 | 1988-09-27 | Mitsubishi Electric Corp | 機密コ−ド書込装置 |
FR2626095B1 (fr) * | 1988-01-20 | 1991-08-30 | Sgs Thomson Microelectronics | Systeme de securite pour proteger des zones de programmation d'une carte a puce |
US4892974A (en) | 1988-03-10 | 1990-01-09 | Air Products And Chemicals, Inc. | Process for producing mono-ortho-tert-butyl-aniline using silica-alumina catalysts |
JPH01243125A (ja) * | 1988-03-24 | 1989-09-27 | Fuji Electric Co Ltd | 解釈プログラムの実行速度向上方法 |
US5195130A (en) | 1988-05-05 | 1993-03-16 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly computer interface and enhanced integrity features |
JP2666847B2 (ja) * | 1988-06-06 | 1997-10-22 | 日本電気株式会社 | 異種言語間連絡方式 |
US5313614A (en) * | 1988-12-06 | 1994-05-17 | At&T Bell Laboratories | Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems |
US5119465A (en) * | 1989-06-19 | 1992-06-02 | Digital Equipment Corporation | System for selectively converting plurality of source data structures through corresponding source intermediate structures, and target intermediate structures into selected target structure |
JPH0378082A (ja) | 1989-08-21 | 1991-04-03 | Hitachi Ltd | 予約取引処理方法 |
CA2025120A1 (en) * | 1989-09-28 | 1991-03-29 | John W. White | Portable and dynamic distributed application architecture |
US5120939A (en) | 1989-11-09 | 1992-06-09 | At&T Bell Laboratories | Databaseless security system |
US5339419A (en) * | 1990-06-25 | 1994-08-16 | Hewlett-Packard Company | ANDF compiler using the HPcode-plus compiler intermediate language |
FR2667171B1 (fr) * | 1990-09-25 | 1994-08-26 | Gemplus Card Int | Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit. |
US5307492A (en) * | 1991-03-07 | 1994-04-26 | Digital Equipment Corporation | Mapping assembly language argument list references in translating code for different machine architectures |
US5450575A (en) * | 1991-03-07 | 1995-09-12 | Digital Equipment Corporation | Use of stack depth to identify machine code mistakes |
JP3602857B2 (ja) * | 1991-04-23 | 2004-12-15 | 株式会社日立製作所 | 多機種対応型情報処理システム、および、方法 |
JP2690229B2 (ja) | 1991-11-26 | 1997-12-10 | 三菱電機株式会社 | 非接触icカード |
US5406380A (en) | 1991-12-30 | 1995-04-11 | Management Graphics, Inc. | Film recorder with interface for user replaceable memory element |
CA2147824A1 (en) * | 1992-10-26 | 1994-05-11 | Johannes Marinus George Bertina | Host and user transaction system |
US5469572A (en) * | 1992-12-01 | 1995-11-21 | Taylor; James M. | Post compile optimizer for linkable object code |
US5367685A (en) * | 1992-12-22 | 1994-11-22 | Firstperson, Inc. | Method and apparatus for resolving data references in generated code |
FR2705810B1 (fr) | 1993-05-26 | 1995-06-30 | Gemplus Card Int | Puce de carte à puce munie d'un moyen de limitation du nombre d'authentifications. |
US5519866A (en) * | 1993-06-28 | 1996-05-21 | Taligent, Inc. | Method and apparatus of incrementally linking components of a modeled computer program |
EP0711441A1 (en) | 1993-07-30 | 1996-05-15 | Intellect Australia Pty. Ltd. | Device and method for ic cards |
US5650761A (en) | 1993-10-06 | 1997-07-22 | Gomm; R. Greg | Cash alternative transaction system |
GB2283349A (en) | 1993-10-29 | 1995-05-03 | Ibm | Transaction processing system |
FR2713803B1 (fr) * | 1993-12-07 | 1996-01-12 | Gemplus Card Int | Carte à mémoire et procédé de fonctionnement. |
US5457799A (en) * | 1994-03-01 | 1995-10-10 | Digital Equipment Corporation | Optimizer for program loops |
US5537474A (en) * | 1994-07-29 | 1996-07-16 | Motorola, Inc. | Method and apparatus for authentication in a communication system |
US5500517A (en) * | 1994-09-02 | 1996-03-19 | Gemplus Card International | Apparatus and method for data transfer between stand alone integrated circuit smart card terminal and remote computer of system operator |
US5732270A (en) | 1994-09-15 | 1998-03-24 | Visual Edge Software Limited | System and method for providing interoperability among heterogeneous object systems |
US5841866A (en) * | 1994-09-30 | 1998-11-24 | Microchip Technology Incorporated | Secure token integrated circuit and method of performing a secure authentication function or transaction |
US5544086A (en) | 1994-09-30 | 1996-08-06 | Electronic Payment Services, Inc. | Information consolidation within a transaction network |
US5613120A (en) * | 1994-10-20 | 1997-03-18 | Silicon Graphics, Inc. | System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program |
US5613012A (en) | 1994-11-28 | 1997-03-18 | Smarttouch, Llc. | Tokenless identification system for authorization of electronic transactions and electronic transmissions |
US5748964A (en) * | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
US5668999A (en) * | 1994-12-20 | 1997-09-16 | Sun Microsystems, Inc. | System and method for pre-verification of stack usage in bytecode program loops |
US5590331A (en) | 1994-12-23 | 1996-12-31 | Sun Microsystems, Inc. | Method and apparatus for generating platform-standard object files containing machine-independent code |
EE03323B1 (et) * | 1995-02-17 | 2000-12-15 | Europay International S.A. | Integraallülitus kontrolliga tehingu juhtimissüsteem |
US5679945A (en) * | 1995-03-31 | 1997-10-21 | Cybermark, L.L.C. | Intelligent card reader having emulation features |
US5590197A (en) * | 1995-04-04 | 1996-12-31 | V-One Corporation | Electronic payment system and method |
DE19518930A1 (de) | 1995-05-23 | 1996-11-28 | Siemens Ag | Verfahren zur Verbindungssteuerung für interaktive Dienste |
JP3310525B2 (ja) * | 1995-06-01 | 2002-08-05 | ビー・イー・テクノロジー株式会社 | デジタルデータ処理装置 |
US6181867B1 (en) * | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5692132A (en) | 1995-06-07 | 1997-11-25 | Mastercard International, Inc. | System and method for conducting cashless transactions on a computer network |
US5689565A (en) | 1995-06-29 | 1997-11-18 | Microsoft Corporation | Cryptography system and method for providing cryptographic services for a computer application |
US5675804A (en) * | 1995-08-31 | 1997-10-07 | International Business Machines Corporation | System and method for enabling a compiled computer program to invoke an interpretive computer program |
US5663553A (en) * | 1995-09-27 | 1997-09-02 | Intel Corporation | Mass storage device adapter for smart cards |
DE19536169A1 (de) * | 1995-09-29 | 1997-04-03 | Ibm | Multifunktionale Chipkarte |
CA2160496A1 (en) | 1995-10-13 | 1997-04-14 | Allan M. Brown | Electronic funds acceptor for vending machines |
CA2236586A1 (en) | 1995-12-01 | 1997-06-05 | Lsi Logic Corporation | Integrated network browser chip, network browser system, and method for network data communication |
US6151618A (en) * | 1995-12-04 | 2000-11-21 | Microsoft Corporation | Safe general purpose virtual machine computing system |
FR2742892B1 (fr) * | 1995-12-21 | 1998-02-13 | Bull Sa | Systeme de protection de logiciel pour ordinateur ecrit en langage interprete |
US6526565B1 (en) * | 1995-12-21 | 2003-02-25 | International Business Machines Corporation | Packaging algorithm for providing object oriented applications having reduced footprints |
US5835772A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Method and apparatus for providing an interface between a system and a peripheral device |
US5811771A (en) | 1996-05-22 | 1998-09-22 | Dethloff; Juergen | Method and system for paying with a portable data medium having security against over charging and unauthorized use |
US6226789B1 (en) * | 1996-01-29 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for data flow analysis |
US6535903B2 (en) * | 1996-01-29 | 2003-03-18 | Compaq Information Technologies Group, L.P. | Method and apparatus for maintaining translated routine stack in a binary translation environment |
US5860008A (en) * | 1996-02-02 | 1999-01-12 | Apple Computer, Inc. | Method and apparatus for decompiling a compiled interpretive code |
US5742756A (en) * | 1996-02-12 | 1998-04-21 | Microsoft Corporation | System and method of using smart cards to perform security-critical operations requiring user authorization |
TW369753B (en) * | 1996-02-14 | 1999-09-11 | Mitsubishi Electric Corp | Data security method and system |
US5761306A (en) | 1996-02-22 | 1998-06-02 | Visa International Service Association | Key replacement in a public key cryptosystem |
US6075863A (en) * | 1996-02-28 | 2000-06-13 | Encanto Networks | Intelligent communication device |
US5764989A (en) * | 1996-02-29 | 1998-06-09 | Supercede, Inc. | Interactive software development system |
US5848274A (en) * | 1996-02-29 | 1998-12-08 | Supercede, Inc. | Incremental byte code compilation system |
JPH09244904A (ja) * | 1996-03-12 | 1997-09-19 | Matsushita Electric Ind Co Ltd | 仮想コード翻訳系および仮想マシンシステム |
US5889941A (en) * | 1996-04-15 | 1999-03-30 | Ubiq Inc. | System and apparatus for smart card personalization |
US5915226A (en) * | 1996-04-19 | 1999-06-22 | Gemplus Card International | Prepaid smart card in a GSM based wireless telephone network and method for operating prepaid cards |
US5815657A (en) * | 1996-04-26 | 1998-09-29 | Verifone, Inc. | System, method and article of manufacture for network electronic authorization utilizing an authorization instrument |
US6151703A (en) * | 1996-05-20 | 2000-11-21 | Inprise Corporation | Development system with methods for just-in-time compilation of programs |
US5794049A (en) * | 1996-06-05 | 1998-08-11 | Sun Microsystems, Inc. | Computer system and method for executing architecture specific code with reduced run-time memory space requirements |
US5946487A (en) * | 1996-06-10 | 1999-08-31 | Lsi Logic Corporation | Object-oriented multi-media architecture |
GB9613450D0 (en) | 1996-06-27 | 1996-08-28 | Europay Int Sa | Payment system |
US5844218A (en) * | 1996-07-16 | 1998-12-01 | Transaction Technology, Inc. | Method and system for using an application programmable smart card for financial transactions in multiple countries |
US5923884A (en) * | 1996-08-30 | 1999-07-13 | Gemplus S.C.A. | System and method for loading applications onto a smart card |
EP0829828A1 (en) | 1996-09-13 | 1998-03-18 | Koninklijke KPN N.V. | Multiple tickets in smart cards |
US5875335A (en) | 1996-09-30 | 1999-02-23 | Apple Computer, Inc. | Parameter marshaling techniques for dynamic object-oriented programming languages |
US6438573B1 (en) * | 1996-10-09 | 2002-08-20 | Iowa State University Research Foundation, Inc. | Real-time programming method |
US6094528A (en) * | 1996-10-24 | 2000-07-25 | Sun Microsystems, Inc. | Method and apparatus for system building with a transactional interpreter |
KR100329063B1 (ko) | 1996-10-25 | 2002-03-18 | 디디어 레묀 | 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용 |
US5905895A (en) * | 1997-03-07 | 1999-05-18 | International Business Machines Corporation | Method and system for optimizing non-native bytecodes before bytecode interpretation |
US5966536A (en) * | 1997-05-28 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for generating an optimized target executable computer program using an optimized source executable |
US6055211A (en) | 1997-07-03 | 2000-04-25 | Microchip Technology Incorporated | Force page zero paging scheme for microcontrollers using data random access memory |
US6078744A (en) * | 1997-08-01 | 2000-06-20 | Sun Microsystems | Method and apparatus for improving compiler performance during subsequent compilations of a source program |
US5987256A (en) * | 1997-09-03 | 1999-11-16 | Enreach Technology, Inc. | System and process for object rendering on thin client platforms |
US6233733B1 (en) * | 1997-09-30 | 2001-05-15 | Sun Microsystems, Inc. | Method for generating a Java bytecode data flow graph |
US6061520A (en) * | 1998-04-07 | 2000-05-09 | Sun Microsystems, Inc. | Method and system for performing static initialization |
US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US6880155B2 (en) * | 1999-02-02 | 2005-04-12 | Sun Microsystems, Inc. | Token-based linking |
US9086931B2 (en) * | 2002-11-20 | 2015-07-21 | Purenative Software Corporation | System for translating diverse programming languages |
US20080282238A1 (en) * | 2007-05-10 | 2008-11-13 | Microsoft Corporation | Static type for late binding |
-
1997
- 1997-10-22 KR KR1019997003564A patent/KR100329063B1/ko not_active IP Right Cessation
- 1997-10-22 WO PCT/US1997/018999 patent/WO1998019237A1/en active IP Right Grant
- 1997-10-22 DE DE69714752.5T patent/DE69714752C5/de not_active Expired - Lifetime
- 1997-10-22 EP EP97911833A patent/EP0932865B1/en not_active Expired - Lifetime
- 1997-10-22 PT PT97911833T patent/PT932865E/pt unknown
- 1997-10-22 CN CNB971810370A patent/CN1183449C/zh not_active Expired - Lifetime
- 1997-10-22 JP JP10520562A patent/JP2000514584A/ja active Pending
- 1997-10-22 BR BR9713267-5A patent/BR9713267A/pt not_active Application Discontinuation
- 1997-10-22 ES ES97911833T patent/ES2184066T3/es not_active Expired - Lifetime
- 1997-10-22 MY MYPI97004974A patent/MY126363A/en unknown
- 1997-10-22 AU AU49118/97A patent/AU722463B2/en not_active Ceased
- 1997-10-23 ZA ZA9709479A patent/ZA979479B/xx unknown
- 1997-10-23 TW TW086115695A patent/TW476914B/zh not_active IP Right Cessation
- 1997-10-24 US US08/957,512 patent/US6308317B1/en not_active Expired - Lifetime
-
2000
- 2000-02-03 HK HK00100664A patent/HK1021762A1/xx not_active IP Right Cessation
-
2001
- 2001-10-23 US US10/037,390 patent/US7117485B2/en not_active Expired - Lifetime
-
2002
- 2002-09-09 JP JP2002263319A patent/JP3766052B2/ja not_active Expired - Lifetime
-
2006
- 2006-09-29 US US11/537,156 patent/US7818727B2/en not_active Expired - Fee Related
-
2010
- 2010-10-19 US US12/907,949 patent/US8726247B2/en not_active Expired - Fee Related
-
2012
- 2012-06-09 US US13/492,821 patent/US8881118B2/en not_active Expired - Fee Related
- 2012-06-09 US US13/492,824 patent/US8881119B2/en not_active Expired - Fee Related
-
2014
- 2014-05-12 US US14/275,506 patent/US9400668B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308547B (zh) * | 2007-05-17 | 2013-07-17 | 因卡特有限公司 | 控制用于ic卡的小应用程序运行的方法 |
CN108966235A (zh) * | 2018-06-20 | 2018-12-07 | 融慧金科金融服务外包(北京)有限公司 | Ios用户的网络身份证rhidfa及其运行方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1183449C (zh) | 用微控制器使用高级程序设计语言 | |
CN1290009C (zh) | 使用全局数据结构在小型注脚设备上允许越过文本屏障进行访问的技术 | |
CN1220939C (zh) | 管理协议,验证和转换下载程序片断的方法及对应的系统 | |
CN1261870C (zh) | 数据处理方法及其设备 | |
CN1282071C (zh) | 数据处理装置、数据处理方法和程序 | |
CN1157655C (zh) | 采用文本屏障在小型注脚设备上实施安全的技术 | |
CN1096637C (zh) | 管理类方法名 | |
CN1423232A (zh) | 可搭载多个卡管理程序的ic卡 | |
CN1082208C (zh) | 从语言中性源程序产生语言专用接口定义的系统和方法 | |
CN101042736A (zh) | 一种智能卡及智能卡中存取对象的方法 | |
CN1287270C (zh) | 重启动翻译的指令 | |
CN1701586A (zh) | 灵活协议堆栈 | |
CN101042738A (zh) | 一种实现智能卡多应用的方法及数据处理装置 | |
CN1273893C (zh) | 模块化计算机系统以及相关方法 | |
CN1313917C (zh) | 数据处理装置以及数据处理方法 | |
CN1655145A (zh) | 最优化行级别数据库安全的系统和方法 | |
CN1524216A (zh) | 软件构件插件程序结构的系统和方法 | |
CN1351728A (zh) | 使用运行时间环境特权在小型注脚设备上允许越过文本屏障进行访问的技术 | |
CN101052949A (zh) | 操作系统 | |
CN1653463A (zh) | 用于处理使用权利表达的方法和装置 | |
CN1922576A (zh) | 操作系统 | |
CN1781078A (zh) | 硬件加速器个性编译器 | |
CN1624657A (zh) | 安全相关的编程接口 | |
CN1338072A (zh) | 使用共享对象接口在小型注脚设备中允许越过文本屏障进行访问的技术 | |
CN1365474A (zh) | 认证装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1023827 Country of ref document: HK |
|
C56 | Change in the name or address of the patentee |
Owner name: SETEC OY Free format text: FORMER NAME: AXALTO SA Owner name: AXALTO SA Free format text: FORMER NAME: SCHLUMBERGER TECHNOLOGIES, INC. |
|
CP01 | Change in the name or title of a patent holder |
Address after: Monte Carlo, France Patentee after: AXALTO S.A. Address before: Monte Carlo, France Patentee before: Schlumberger Systems |
|
CP03 | Change of name, title or address |
Address after: East France Patentee after: GEMALTO OY Address before: Monte Carlo, France Patentee before: AXALTO S.A. |
|
CX01 | Expiry of patent term |
Granted publication date: 20050105 |
|
CX01 | Expiry of patent term |