CA2093451A1 - Method and Mechanism for Calling 32-Bit Functions from 16-Bit Functions - Google Patents
Method and Mechanism for Calling 32-Bit Functions from 16-Bit FunctionsInfo
- Publication number
- CA2093451A1 CA2093451A1 CA2093451A CA2093451A CA2093451A1 CA 2093451 A1 CA2093451 A1 CA 2093451A1 CA 2093451 A CA2093451 A CA 2093451A CA 2093451 A CA2093451 A CA 2093451A CA 2093451 A1 CA2093451 A1 CA 2093451A1
- Authority
- CA
- Canada
- Prior art keywords
- bit
- code
- bit functions
- calling
- function
- 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
Classifications
-
- 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
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Abstract
In the field of mixed 16-bit and 32-bit code, a method and mechanism are provided to implement alterations in the dynamic portion of memory containing the data objects used by code in the 16-bit environment so that such data is accessible to code from the 32-bit environment. The code necessary to implement the method is generated automatically by an enhanced compiler on identifying a 16-bit linkage in the 32-bit code. Once the data objects in the stack are accesible to the 32-bit code, a function in the 16-bit code can successfully call a function in 32-bit code.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002093451A CA2093451C (en) | 1993-04-06 | 1993-04-06 | Method and mechanism for calling 32-bit functions from 16-bit functions |
US08/301,221 US5490256A (en) | 1993-04-06 | 1994-09-06 | Method and mechanism for calling 32-bit functions from 16-bit functions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002093451A CA2093451C (en) | 1993-04-06 | 1993-04-06 | Method and mechanism for calling 32-bit functions from 16-bit functions |
US08/301,221 US5490256A (en) | 1993-04-06 | 1994-09-06 | Method and mechanism for calling 32-bit functions from 16-bit functions |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2093451A1 true CA2093451A1 (en) | 1994-10-07 |
CA2093451C CA2093451C (en) | 2000-03-14 |
Family
ID=25676060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002093451A Expired - Fee Related CA2093451C (en) | 1993-04-06 | 1993-04-06 | Method and mechanism for calling 32-bit functions from 16-bit functions |
Country Status (2)
Country | Link |
---|---|
US (1) | US5490256A (en) |
CA (1) | CA2093451C (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1248193A1 (en) * | 2001-04-02 | 2002-10-09 | Hewlett-Packard Company | Initialisation module for a device driver |
EP2669797A3 (en) * | 2012-05-30 | 2014-04-09 | Vector Fabrics B.V. | Method and system for translating a function into non-native instructions |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249818B1 (en) * | 1993-06-30 | 2001-06-19 | Compaq Computer Corporation | Network transport driver interfacing |
US6148325A (en) * | 1994-06-30 | 2000-11-14 | Microsoft Corporation | Method and system for protecting shared code and data in a multitasking operating system |
US6363409B1 (en) | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
JP3201716B2 (en) * | 1996-02-22 | 2001-08-27 | シャープ株式会社 | Computer equipment |
US5903755A (en) * | 1996-03-15 | 1999-05-11 | Novell, Inc. | Method and system for interenvironment object control |
US5838911A (en) * | 1996-05-23 | 1998-11-17 | Electronic Data Systems Corporation | Method and apparatus for obtaining network information by using a dynamic link library |
US5835958A (en) * | 1996-10-29 | 1998-11-10 | Sun Microsystems, Inc. | Method and apparatus for dynamically sizing non-contiguous runtime stacks |
US5854939A (en) * | 1996-11-07 | 1998-12-29 | Atmel Corporation | Eight-bit microcontroller having a risc architecture |
US5898885A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native stack-based instruction within a computer system |
US5898850A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native mode-sensitive instruction within a computer system |
US5875336A (en) * | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US6021438A (en) * | 1997-06-18 | 2000-02-01 | Wyatt River Software, Inc. | License management system using daemons and aliasing |
CA2211515C (en) * | 1997-07-25 | 2001-12-11 | Kevin Alexander Stoodley | System and method of local data alignment for stack memory |
US6111877A (en) | 1997-12-31 | 2000-08-29 | Cisco Technology, Inc. | Load sharing across flows |
US6826749B2 (en) | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US20050149694A1 (en) * | 1998-12-08 | 2005-07-07 | Mukesh Patel | Java hardware accelerator using microcode engine |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US7225436B1 (en) | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
US6850990B1 (en) * | 1999-07-14 | 2005-02-01 | Landesk Software Limited | Transfer of synchronized data from 16-bit code to a 32-bit process |
FR2797962B1 (en) * | 1999-08-23 | 2001-10-26 | Trusted Logic | METHOD FOR CONVERTING TYPES OF ENCODED VARIABLES IN A COMPUTER PROGRAM AND CORRESPONDING COMPUTER PROGRAM TRANSLATION SYSTEM |
KR20020028814A (en) * | 2000-10-10 | 2002-04-17 | 나조미 커뮤니케이션즈, 인코포레이티드 | Java hardware accelerator using microcode engine |
US8769508B2 (en) | 2001-08-24 | 2014-07-01 | Nazomi Communications Inc. | Virtual machine hardware for RISC and CISC processors |
US7032230B2 (en) * | 2001-08-27 | 2006-04-18 | International Business Machines Corporation | Efficient virtual function calls for compiled/interpreted environments |
US9110672B2 (en) | 2013-11-07 | 2015-08-18 | International Business Machines Corporation | Compiler generation of thunking code |
US11249760B2 (en) | 2019-04-10 | 2022-02-15 | International Business Machines Corporation | Parameter management between programs |
US11500653B2 (en) | 2020-02-05 | 2022-11-15 | International Business Machines Corporation | Signal handling between programs associated with different addressing modes |
US11294695B2 (en) | 2020-05-28 | 2022-04-05 | International Business Machines Corporation | Termination of programs associated with different addressing modes |
US11947993B2 (en) | 2021-06-22 | 2024-04-02 | International Business Machines Corporation | Cooperative input/output of address modes for interoperating programs |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2253425A5 (en) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US4445173A (en) * | 1981-09-11 | 1984-04-24 | Data General Corporation | Improved system for saving and restoring state in call and return operations |
US4569018A (en) * | 1982-11-15 | 1986-02-04 | Data General Corp. | Digital data processing system having dual-purpose scratchpad and address translation memory |
US4928237A (en) * | 1987-03-27 | 1990-05-22 | International Business Machines Corp. | Computer system having mode independent addressing |
US5127103A (en) * | 1987-10-14 | 1992-06-30 | North American Philips Corporation | Real-time tracing of dynamic local data in high level languages in the presence of process context switches |
US5097533A (en) * | 1988-11-29 | 1992-03-17 | International Business Machines Corporation | System and method for interfacing computer application programs written in different languages to a software system |
US5146593A (en) * | 1989-03-06 | 1992-09-08 | International Business Machines Corporation | Procedure call interface |
US5144551A (en) * | 1989-05-19 | 1992-09-01 | Compaq Computer Corporation | Computer memory management method utilizing segmentation and protection techniques |
FR2652926B1 (en) * | 1989-10-06 | 1994-07-08 | Bull Sa | METHOD FOR OPERATING THE MEMORY IN A VIRTUAL ADDRESSING COMPUTER SYSTEM AND DEVICE FOR CARRYING OUT SAID METHOD. |
-
1993
- 1993-04-06 CA CA002093451A patent/CA2093451C/en not_active Expired - Fee Related
-
1994
- 1994-09-06 US US08/301,221 patent/US5490256A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1248193A1 (en) * | 2001-04-02 | 2002-10-09 | Hewlett-Packard Company | Initialisation module for a device driver |
EP2669797A3 (en) * | 2012-05-30 | 2014-04-09 | Vector Fabrics B.V. | Method and system for translating a function into non-native instructions |
Also Published As
Publication number | Publication date |
---|---|
US5490256A (en) | 1996-02-06 |
CA2093451C (en) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2093451A1 (en) | Method and Mechanism for Calling 32-Bit Functions from 16-Bit Functions | |
CA2145844A1 (en) | A System for Operating Application Software in a Safety Critical Environment | |
CA2093815A1 (en) | Method and apparatus for providing down-loaded instructions for execution by a peripheral controller | |
CA2284250A1 (en) | Computer method for implementing a get instruction | |
CA2061117A1 (en) | Apparatus and method for distributed program stack | |
EP1416374A3 (en) | Program converting unit and processor improved in address management | |
MY116751A (en) | Processor for executing highly efficient vliw | |
WO1994023363A3 (en) | Loader system | |
CA2149870A1 (en) | Object-oriented host system | |
GR3032498T3 (en) | System for dynamic run-time binding of software modules in a computer system. | |
EP0622847A3 (en) | Three dimensional package and architecture for high performance computer. | |
EP1307023A3 (en) | A distributed computer system | |
EP0645701A3 (en) | Emulating the memory functions of a first system on a second system. | |
CA2245611A1 (en) | Method and apparatus for efficient operations on primary type values without static overloading | |
EP0588083A3 (en) | Portable computer system. | |
CA2152041A1 (en) | An Apparatus for Executing a Plurality of Program Segments Having Different Object Code Types in a Single Program or Processor Environment | |
CA2143672A1 (en) | System and method for distributed computation based upon movement, execution and interaction of processes in a network | |
CA2135518A1 (en) | Load System | |
AU1406195A (en) | Metal ion-ligand coordination complexes, antibodies directed thereto, and assays using such antibodies | |
EP0664483A3 (en) | Film processing system. | |
FR2700193B1 (en) | METAL SEALING DEVICE. | |
CA2162128A1 (en) | Quaternary ammonium and waterproofing/preservative compositions | |
TW349185B (en) | A semiconductor device | |
FR2710781B1 (en) | Field emission cathode device. | |
AU6117694A (en) | Telelphone dialling code processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |