Since the development of Chinese character operating systems is always lagging behind Western software, some Western software cannot run properly under Chinese character systems, bringing very inconvenience to users. Therefore, the Chinese character operating system is unavoidable, and there are many consecutive ways to switch technology and Chinese characters operating system. The two methods have their own advantageous: the former method does not need to remove the operating system, speed fast However, the system itself will occupy a part of the memory (some systems even account for about 300K), bringing difficulties to running large programs; the latter approach will completely evacuate the system, returned to the memory resources, but next time you use it again. Slow speed. This article introduces the latter approach. / PAR Chinese character system has two techniques: one is an all-in-line evacuation, that is, under the Chinese character system or in the process of running, by the hotkey to evacuate; its second is the external evacuation, through another special design The procedure was evacuated. In fact, two methods have a lot of common, and the evacuation code they perform is exactly the same. It is just the first way to take into account the re-entry of DOS. Let's introduce the second method, on this, the first method is described. First, the TSR evacuation condition Chinese character operating system is a TSR program, which must be in line with evacuation conditions, otherwise the system will generally meet the following three conditions: 1, the PSP segment address of the TSR program must be known. 2, you must know which interrupt numbers occupied by the TSR program. 3, must know the original value of these interrupt numbers saved in the TSR. Since the Chinese character operating system is developed by our own, the above three conditions are easily satisfied. Second, evacuation step 1, obtain the PSP segment address, because the Chinese character system occupies the BIOS interrupt 10h and 16h, by taking these interrupt vectors (for the COM system), or simply provides returning PSP segments in the interrupt program The function call for the address (for the EXE system). 2, get the original value saved address of the system occupied interrupt. This work must provide a function call inside the system to return to its first site, as for the specific interrupt number and the order of storage, is approximately ok. 3. Restore the interrupt occupied by the system simply writes the interrupt original value to the interrupt vector table. 4, evacuation of external module Chinese character system generally have some external input method modules on the system, first withdrawing them, one side provides a function call to return to the external module entry table and its installation flag, then evacuate . 5. Decades the system kernel according to the PSP segment address, find its environmental segment address, first evacuate its environment segments, and then evacuate the system itself. The evacuation of external modules is also in this order. 6. Switching display mode to character mode only needs to call interrupt 10h to set. The evacuation step is briefly described above, and the one-to-use Chinese character system developed will be specifically described.
First list some of the layout and system overall layout of parameters in the system: ........................................................................................... ) ........................................................................................................................................................................................ OFFSET CTRL_F6 DW Offset Ctrl_f7 DW Offset Ctrl_f8 DW Offset Ctrl_F9 DW Offset Ctrl_f10 ..................................................................................................................................................................... 0, 0, 0, 0, 0, 0, 0, 0ffH External_P DW 0; Alt_F1 DW 0 DW 0; Alt_F2 DW 0 DW 0; Alt_F3 DW 0 DW 0; Alt_f4 DW 0 DW 0; Alt_f5 DW 0 DW 0; alt_f6 dw 0 dw 0; alt_f7 dw 0 dw 0; alt_f8 dw 0 dw 0; alt_f9 dw 0 dw 0; alt_f10 dw 0 ............................................................................................. Omission) ............................................................. ROMBIOS16H DW?,?; 16h interrupt the original value storage office ROMBIOS10H DW?,?; DW?,?; 1CH interrupt original value storage OLD28H dw?,?;