How to use Softice debugging procedures

zhaozj2021-02-08  273

Preface ~~~~~~ Since the protection is getting more and more powerful, we have to be legally bought, and we have to suffer from all kinds of thousands of strange torture, and the brothers feel deeply insult. (What about you?) So the younger brother and friends find all kinds of good crack tools and recommend them to them. Software companies should know that the cost of piracy is passed to legitimate users, that is wrong, only respect User, and strengthen the service attitude, the Taiwan software industry will take off day. Soft-ICE function, as described below, "can be more hardware detectors", in other words, the program does not enter the protection mode, but the interrupt of the proposed system, and generally can deliberately drop the DEBUGGER's trap. Costly. This document is translated by Chi-hao tseng and friends. If there is anything in the file, welcome to the 90 NET - Copy Board area ... Different this document is very very welcome you Copy There are people who need, but don't let your brother see the content of any of this document is modified or taken to Tu Lu (the younger brother and friends will be very painful), in the end, I want to thank you to see time. The younger brother's work .... Chapter 1 -------- [Introduction] 1.1 Battered Features 1.2 User Manual 1.3 System Requirements 1.1 This Peripheral Function ----------- --- Soft-ICE is a software debug tool. However, it has the ability to hardware-level, which allows it to overlook the DOS. Soft-ICE uses 386 virtual 86 mode (Virtual 86 Mode) to place the DOS all program on a virtual machine, so that the Soft-ICE can fully control the DOS environment. Soft-ICE uses the 80386 protection mode features, like Paging, I / O Privilege Level, and Break Point Register, plus the 'hardware detector' interrupt indicates the DOS existing DOS extent. We have three goals when designing Soft-Ice: 1. Using this 80386 actual machine potential ability to detect the future Dongdong is not possible or in slow only soft defective program is prohibited. Instant 'hard Sports detector 'interrupt point, memory protection, interrupt jump outlet, and so on. 2. Compatible with the usage of existing detectors. We want to provide a tool - it is the same as the usage of existing detectors, but it has the ability of the hardware decentralizer. Such users can save the time that does not have to learn, and get a powerful tool. 3. It is a program with user-friendly. Since the Soft-ICE's window can be free, and the transformation size, even if some information is filed under the window, it can also be seen by the user, and the other dynamic line assist function, so that you even Use one Soft-Ice will not feel trouble .... Soft-ICE features: * You can set a memory range when reading / writing, or when you read / write, or When an interrupted occurs, immediately interrupt back to Soft-Ice. * Reverse tracking program. * The original program is detected. * You can simultaneously detect the rules at the same time. * Completely support EMM 4.0 (Expand Memory Manager). * If it is a monochrome screen, you can automatically place the Soft-ICE in a space other than the 640 kb master memory. * This system can call at any time. * Even if the keyboard interruption is changed, the this rule can call it. * This system is actually placed on another virtual machine, which is to be afraid of other programs deliberately or destroy the Soft-ICE program code. So even if DOS is behind, Soft-Ice can work properly. (Note 1.) If your computer has more than 640 kb memory, Soft-ICE will not occupy a traditional memory below 640 kB. * Help in dynamic lines with strong affinity. * This transcript is a hardware detector truly independent of the computer.

This represents you can detect any device driver (.sys), which is the traditional defective program. * Even the DOS is incompatible or the program that can be self-powered. * Installation is quite simple. You don't have to adjust any DIP switch, and this code will not take any of any I / O, and will not twice with any memory. Note: Soft-ICE is to address using a true location (Segment: Offset), rather than using the address of 286 and 386 to address. 1.2 User Manual --------------------------------------------------------------------------------------------------------------------------------------------------------------- Section III) The Features Supported (Section 4) Advanced Topics First Section Discussion The most frequently encountered problems when using this model quotation. In this section, we also insert a small experiment. "Learning Soft-Ice", and a small experiment, Soft-ICE is auxiliary to the reference command to narrative and grammar. This "learning the Soft-Ice" section contains the installation instructions, the narrative and teachings of a user interface. This teachings are designed to make yourself faster. "Command" section describes all of this Soft-ICE command. This command describes the organization to prepare the organization with an Alphabetic index. "Supporting and Features" partially cover advanced loading selection, symbolic with the source of the same level, and the possibility of EMM 4.0. Part of the "Advanced Topic", such as: using Soft-ICE with the DOS Loadable drive and using Soft-ICE in a non-DOS job system. Everything in this manual, these teachings and these command parts, when you read these designated information. It is like gives you Soft-Ice information you need. 4 "Enter" a key, as follows, you will press this button. When this shows you to "Enter" a word, such as: WIN, you will type this specified character, then press Enter. 1.3 System Demand Soft-ICE works in IBM Series Model 70 and 80 Compaq 80386 and 80386SX computers, AT-level compatible with 80386 microprocessors. If they are AT compatible Soft-Ice will work only at 80386 XT microprocessor. Soft-ICE works best in extending memory, but works in traditional memory systems. Soft-Ice, does not use DOS or ROMBIOS for its image output and Keystroke input. So images below the image must be compatible with: MDA, Hercules, CGA, EGA, or VGA. Soft-Ice also supports the double screen structure, which may be helpful when the Videointensive program may be helpful. Note 1. PS. (This is the priority of VM86 MODE, the place of mystery) Chapter 2 ---------- [Introduction] 2.1 Magnetic Content 2.2 Load SOFT-ICE 2.2.1 No Extended Memory Load Method 2.2.2 Loading Methods When Extended Memory 2.2.3 How to Adjust the Soft-Ice Enable Enable You set up 2.3 Detach from Soft-Ice 2.4 Re-Load Soft-Ice 2.1 Pack of Soft-Ice It was originally mounted in a magnetic sheet of 5 and 1/4 英 □ or a piece of 3 and 1/2. When you perform S-ICE, the big name of the S-ICE registered all people will be displayed on the screen to stop the copyright being violated. The S-ICE magnetic sheet itself is not actually presenced by your convenience. Similarly, in order to facilitate our convenience, we are grateful to our license agreement with a high respect.

It is a very important thing to make a backup program for free origin magnetic sheets. The following files should be included in the directory of the Soft-ICE magnetic sheet: s-ice.exe s-ice.dat ldr.exe msym.exe emmsetup.exe uptime.exe readme.si sample.exe sample.asm sample.sym s-ibe .Exe is the Soft-ICE main course. S-Ice.dat sets the file for the Soft-ICE start parameter. LDR.exe is the load program of Soft-ICE Output and Symbol File. Msym.exe is the result of the Soft-ICE symbol file. Emmsetup.exe is a program that is used by users to customize the memory (Expanded Memory). UPtime.exe is the process of correcting the time-adjustment [Save]. Readme.si is a text file, which contains matters not mentioned by Soft-ICE manual. Sample.exe is a demonstration (DEMO) program used in the User Guide. Sample.ASM is the original program of Sample.exe's combined language. Sample.sym is the symbol file of Sample.exe. 2.2 Load Soft-ICE Copy all files in the magnetic disk to the hard drive before performing Soft-Ice. These files should be placed in the directory you can access in your file path. S-ICE.exe can be implemented in the form of DEVICE DRIVER or execute in the DOS command line. If you want to use Soft-ICE, SICE.exe must be loaded in Device Driver in Config.sys. Note: If you don't have Extended Memory, Soft-ICE cannot be loaded in the form of Device Driver. That is to say, you must download it in DOS PROMPT. 2.2.1 Loading method without Extended Memory: When you don't have Extended Memory, Soft-ICE will try to load yourself to the highest position. The memory used by Soft-ICE will be excluded (Map out). Therefore, the visual range of the DOS memory will be less than load, it is recommended that you load S-ICE before any other resident. If you don't have Extended Memory, just type: S-ICE 2.2.2 Use Extended Memory to load the way: Load S-ICE in Extended Memory can be reached below: 1. In Config, SYS, -ICE.exe loads in DRIVER: If you will use the following features, you must be this method. * Share memory with a program that accesss memory via ROM Bios Calls. (Such as VDISK, SYS, RAMDRIVE.SYS, HIMEM.SYS, Cache Programs, etc.). * Use Soft-Ice EMM 4,0 compatibility. * Use Soft-ICE as a symbol or original phase phase to deactivate. * Use the Back Trace Ranges. * Products with other NU-MeGAs such as Magiccv, using S-ICE. When loaded in DRIVER, Soft-ICE will configure a part of Evtended Memory as itself, and therefore does not have a memory conflict. S-ICE.exe must be loaded before other programs that will be configured for Extended Memory. (For example: vdisk.sys, ramdrive.sys). Usually, if the Soft-ICE is loaded in Config.sys, the best effect can be obtained.

For those users who use Soft-ICE, it is wise to describe Soft-Ice as the first load in Config.sys: device = drive: / path / s -ICE.exe / SYM 50 Drive and Path must be assigned to the directory where S-ICE.exe is. This description will load SOFT-ICE after the system reset, suitable as a gateway guidelines. In any case, Soft-ICE will not load more powerful features (such as EMM 4.0). After you have some experience, you can re-adjust the Soft-ICE to use the features such as this. See Chapter 6 (Soft-ICE Initial Settings) if you are familiar with Soft-ICE or want to adjust the settings immediately to use it. Third Chapter III for 30 minutes Learn DEBUG §3.1 Preface Soft-ICE All Actions occur in a window that can be called at any time. All instructions of Soft-ICE can be displayed in a small window, but this window can be expanded to the entire screen. When you use Soft- Ice when you do other apart from the wrong handle, you may use a small window. When you use Soft-Ice as a stand-alone decentralizer, you may use a big window. If you use the set file (s-ice.dat) on the original magnetic, the window is full of full screen. § 3.2 After the window is called Soft-ICE, you can call the window at any time. At first, you only need to press Ctrl - D to call Soft-Ice. This hotkey can be changed using AltKey instructions. (Refer to § 5.8) §3.3 Returns using X this command in the window or the hotkey you call the Soft-ICE can return to the original picture. All interrupt points you set in Soft-ICE be started at this time. §3.4 Changing the window size You can change the width and height of the Soft-ICE window. When the program code is displayed in stand-alone mode, the function of changing the window size is particularly useful. The height of the window is 8 to 25 lines. Press Alt - ↑ to make the window ALT - ↓ Make the window to change the WIN instruction to change the width of the window. (Refer to §5.9) directly enter the WIN without parameters, switched in the following two modes: WIDE mode - account for the entire screen Narrow mode - 46 characters wide Some directives D, E, R , U, use WIDE mode to display more messages when it is more convenient. § 3.5 Mobile window Soft-ICE is movable and can be positioned anywhere on the screen. This feature is especially useful in Narrow mode. Move the window when you need to watch the place where the screen is blocked. You can use the following buttons to control the screen's movement: Ctrl - ↑ Move the line CTRL - Move down Ctrl - → Move a column of Ctrl - ← To the left, a column 3.6 line Editing button Soft-ICE easy to use The row editor allows you to call back and edit the previous instruction. Its features are similar to those named CED line editors.

The following buttons can help you edit instructions in the command window: → --- Camper right shift ← - Cursor left shift INS --- Switch Insert mode DEL --- Eliminate the present HOME --- Move the cursor to a line The beginning end --- Move the cursor to the end of the end ↑ --- Display the previous instruction --- Show the next command shift - ↑ --- Display the upward roll shift - ↓ --- Show downward Page Up --- Display Page Page Page Down --- Display Downline Page Backspace --- Eliminate the previous character ESC --- Cancel the current command When the cursor is in the data window or program, Special buttons, this will be discussed later. §3.7 Action status line provides an auxiliary of the instruction syntax on the status line of the screen. §3.8 Instruction Syntax Soft-ICE is a deactivation tool for manipulation. To make the Soft-ICE actions, you have to give it a command. The instructions can change due to different parameters. All instructions are strings from 1 to 6 fonts and are not sized. All parameters are strings or arithmeters. The calculation of the model is a typical number or a combination of numbers and operators. All numbers are represented in a 16-in-one. One bit group (Byte) parameter has 2 digits, the word group (Word) parameter has 4 digits. Double group (Double Word) is two by: separated group parameters. The following is an example of some parameters: 12 --bit element group parameter 10FF --- Word group parameter E000: 0100 --- Double-group parameter Transmission device can take a bore group or group parameter in the arithmetic use. For example: U cs: IP -10 instruction will begin to reverse group translations from now on the command indicator indicator. The following scalar names can be used in the calculation: Al, AH, AX, BL, BH, BX, CL, CH, CX, DL, DH, DX, DI, Si, BP, SP, IP, CS, DS , ES, SS, FL § 3.8.1 Specifying Many Soft-ICE instructions for memory sites to be parameters with memory sites. A memory order is composed of two 16-bit groups in a semicolon (:). The first word represents the Segment Address and the second field represents the gap address (OFFSET Segment). Public symbols can replace the address in all Soft-ICE instructions. Public symbols must be loaded from Soft-ICE's program loader (LDR.exe). See Chapter VII to obtain a complete explanation of using public symbols. The Soft-ICE operational computator accepts some special fl cells and address usage. These numerals are: $ --- Now CS: IP Refirmed location @ 位址 --- Indirect double word .Number --- Original code line number When you want to enter the location of the current command indicator, You can use $ instead of CS: IP. Use @ that allows you to refer to the double group indication to the address. You can use multiple layers @. If used. To represent the address, it is used to represent the line number in the original code, not the actual location. This can only be used in the case where the original program is loaded. In this case, the address is represented in 10. For example: u.1234 --- Start the reverse group U $ -10 from the original program code 1234 --- From the current instruction metrics, 10 Byte begins to reverse group G @ss: sp --- You are currently under the first interrupt program, and this instruction will set a temporary interrupt point in the stacked return address and skip this interrupt program. § 3.9 Function key function keys can replace instructions in a string Soft-ICE. The function keys can be defined by the command line or defined from S-Ice.dat. The original S-Ice.dat on the Soft-ICE patch has been set for 12 function keys. You can change any of you when you change any one.

One button is defined as shown in the following table. This is designed to facilitate the user of Microsoft's CodeView. F1 --- Display a general auxiliary screen (H;) F2 - switch (^ WR;) f3 in the terminus window - Change the currently original code mode (^ src;) F4 --- Reply to the window ( ^ Rs;) F5 --- Back to the original (^ x;) F6 --- Switch in the command window and the program window in the program window (^ EC;) F7 --- execute the line of the cursor (^ here; ) F8 --- Single step execution (^ t;) F9 --- Set the interrupt point (^ bpx;) f10 in the line of the cursor (^ BPX;) F11 --- Performed to the return bit Site (^ g @ss: sp;) F12 --- Displaying the version of the Soft-ICE (^ Ver;) The command will make this instruction not displayed. After the instruction; then represents the ENTER. Instructions for entering FKEY can display the meaning of the current function key. To use the function keys to press the function key and do not need to type the instruction. To customize the function key, see the explanation of §5.8 fkey instruction or section 6 for some part of the S-Ice.DAT setting function key. §3.10 Auxiliary instructions can be obtained by simply explaining the instructions, grammar and use examples. To get auxiliary information, type:? Or h --- Show all instructions and operator short solutions? Instructions or H commands - Display information about instruction syntax and examples more detailed information? Aroscograms or H arithmetic - Show §3.11 courses in 16, 10 carry and ASCII code (a lot of .... Talk, jump!) ┌ ------------- ---- ┐ │ 2nd section instruction │ └ ---------------- ┘ The second section includes grammar, interpretation, and examples of each instruction. All numbers are represented by a 16-in-one. The numbers used to use the - * / or the scratcher can be considered as an operation. All instructions are not case sensitive. The oblique word in the instruction syntax description needs to be replaced by a real value rather than the oblique word. The following is the code used in this section: [] ----非 非 非 部 部 部 部 <>---选 部 部 | | --- Use X or Y (XY Selection) Count - - COUNT specifies that the interrupt point condition is to be true to the interrupt. If there is no setting, the internal value is 1. After the interrupt is triggered, the XOFT-ICE's window is called, the record is automatically replied to the original specified value. Verb --- Specify what interrupt point will be used in any situation. R represents reading; W represents write; RW represents reading and writing; x represents execution. Address --- Address. It consists of two 16-bit ingredients in a colon. The first group represents the segment address, the second field represents the gap address. The location can be composed of a symbol or a tentative, or a special symbol of $, @ @ @ @ @. See §3.8 to achieve more information. Break-Number --- The interruption number is used when you modify the interrupt point (ie editing, deletion, restart, pause). It is used to represent the code of each interrupt point. The interruption number is from 0 to f. List - a string of interruption points separated by a comma or blank. Mask - The bit element mask consisting of 1, 0, and x. X represents the non-processed bit. For example: BPIO 21W EQ M 1xxx xxxx will cause interrupt if the 21st is written and caused by its high order.

Chapter 4 How to Use Interrupt Point Directive 4.1 Preface Soft-ICE has a discriminating point capability with only hard body decentralizers. Because the power and elasticity of the 80386 wafer makes us no additional hardware equipment can have more powerful interruptive capabilities. The trigger of the interrupt point can be achieved by the reading of a memory of a memory, reading of the memory range, and access to the execution of the program. Soft-ICE is assigned a one-digit 16 port number (0 - f) with each interrupt point. This interruption number is when you delete, suspend, start, and edit the interrupt point. All interrupt points of Soft-Ice are "sticky". This means that these interrupt points will not disappear automatically after startup. You must eliminate or close it with BC or BD instructions. Soft-ICE can handle 16 interrupt points at a time. There are up to 10 interruption points of the same type. However, the interruption point (BPM) of the memory site (BPM) can only set up to 4 due to the scratch of the 80386 processor. The interrupt point can set a count parameter. The count parameter is the number of times the interrupt point is really ignored before the action is triggered. § 4.2 Setting Interrupt Point Instruction: BPM BPMB BPMW BPMD --- Inciting Interrupt BPR when the memory site is accessed or executed --- The memory range setting interrupt point BPIO --- For I / O Time triggering the BPINT --- Call interrupt When the interrupt BPX --- Set / Clear Perform interrupt point CSIP --- CS: IP range verification BPAND --- Wait for the composite interrupt point BPM BPMB BPMW BPMD - - Interrupt syntax when the memory site is accessed or executed: bpm [size] address [verb] [Qualifier Value] [C = Count] Size --- B, W, DB - BYTE Get Word Word Group D - Double Word Double Group SIZE is the range covered by the interrupt point. For example, if a double group is used, the third bit element group is used, the interrupt will be caused. If you have a specified judgment, Size is also important. VERB --- R, W, RW or X Qualifier --- EQ, NE, GT, LT, M EQ - equal Ne - 不 不 GT - large than LT - less than M - Mask Qualifier only Write interrupt points is useful. Value --- The size of the interrupt point decision is the value of the bit group, the group, or the double word group: the BPM instruction will initiate an interrupt when reading, writing, or execution. The VERB has a RW; the Size has a value of BYTE. In addition to the Verb value outside the X, the program code that causes the interrupt. CS: IP refers to the latter line code that triggers an interrupt. If the VERB value is X, CS: IP refers to the location of the interrupt point setting. If it is set to R, when the memory address is read or doing a change in writing, it will be interrupted. If the set is R, W, RW, the specified address is executed and the interrupt is not thrown. [Note] If BPMW is used, the specified address must begin by the group boundary. If BPMD is used, the specified location must point to a double-word group boundary. [Example] BPM 1234: Si W EQ 10 C = 3 This instruction sets a memory access interrupt point of a bit element group. The interrupt point will be started when 10h is written in 1234: Si. [Example] BPM CS: 1235 x This command sets an execution interrupt point. When the program code of the CS: 1235 is executed, an interrupt will be thrown. At this time, CS: IP is referred to as the interruption point setting location. [Example] BPMW DS: F00 W EQ M 0xxx XXXX XXXX XXX1 This instruction sets a memory write interrupt point of a group.

When the DS: F00 is written to a high level of 0, the low position is 1 (other bit element is not considered), the interrupt will be initiated. [Example] BPM DS: 1000 W GT 5 This instruction sets a memory write interrupt point of a bit component group. When the DS: 1000 is written to a value greater than 5, it will be initiated. BPR --- In-memory range setting interrupt point syntax: BPR start-adderss and address [verb] [c = count] start-address, end-address --- The start and end address of the defined range VERB --- R, W, RW, T or TW explanation: BPM instruction allows you to set up a memory range. In addition to the VERB values ​​outside T and TW, the program code that is thrown. CS: IP will point to the next section code that triggers interrupt. You cannot set the range interruption point of the execution. If you want to do the range interrupt point, R is required. The extraction of the program code is considered to be read on the scope interruption point. If Verb is not specified, the internal value is W. Under certain conditions, the set range interruption points reduce the performance of the system. Soft-ICE will analyze all read and write actions of 4K memory included in the range interrupt point. The decrease in performance is usually not aware, but it can also be severely reduced. VERB values ​​will be traced back track tracks in the specified range using T or Tw. They do not really trigger interrupts but only information on the following code. This information can be displayed in Show or Trace instructions. See Chapter 9 to achieve more information about going backtracking. [Example] BPR B000: 0 B000: 1000 W This instruction defines a interrupt point of a memory range. Any write to monochrome video memory will lead to interrupts. BPIO --- Trigger Interrupt Syntax for I / O: BPIO Port [Verb] [Qualifier Value] [C = Count] Port --- A bit ing group or the value of the value VERB --- R, W or rw. R - Read (in) W - WRITE (OUT) Qualifier - EQ, NE, GT, LT, M EQ - Equal NE - inequality GT - larger than LT - less than M - Mask Value - - a value of a bit group or a group form: BPIO instructions will cause interrupt when I / O read and write. If there is a specified value value, it will be compared to the true data value read / written / written by the IN, OUT code. Value can be a bit group or a group. If it is an I / O for a bit ing group, it is compared using a lower 8-bit element. CS: IP will point to the rear section code of the triggered code. If Verb is not specified, the internal value is RW. [Example] BPIO 21 W NE FF This directive defines an I / O storage interrupt point. If the interrupt controller of the first interrupt controller is written to a value other than FFH, it will cause an interrupt. [Example] BPIO 3FE R EQ M 11xx XXXX This command defines the I / O read interrupt point of a bit set. If the 3FEH I / O is read, and the two high order of this value is 1, an interrupt will be triggered. Other bit yuan can be any value. BPINT --- Call Interface Trigger Interrupt Syntax: BPINT INT-Number [ = Value] [c = count] int-number --- From 0 to FFH Interrupt Number Value --- The value of a bit group or a group of groups: The BPINT instruction can cause interrupt when calling hardware interruption or software interruption. The specified DOS or BIOS call can be easily separated by specifying the value of the AX Transmission. If no value value is specified, an interrupt will be thrown when the specified interneturb vector is called. This interopement can be a hard interruption, a software interworking or internal internetrupt.

The selected Value value is compared to the specified temporary register when the insertion occurs (AH, Al or AX). If the value is the same as the specified temporary value, the interrupt will be thrown. When the interrupt point is triggered, if it is a hard body interruption, the CS: IP will point to the first segment code of this interrupt program. Using the Int? Instructions can beware of where this interrupt call is executed. If it is a software interrupt, CS: IP will point to the program code that calls this interopement. [Example] BPINT 21 AH = 4C This command defines a 21h interrupt interrupt point. When the DOS 4ch function (end program) is called, an interrupt will be thrown. BPX --- Setting / Clear Perform Interrupt Syntax: BPX [Address] [c = count] comment: BPX instruction allows you to set / clear the execution interrupt point in the original program. If the cursor is in the program, no input order is required, and the interrupt point will be set in the address where the current cursor is located. This interrupt point will be cleared if the current cursor has set an execution interrupt point. If the program code window is invisible or the cursor is not there, it will be! Specify the address. If there is only a specified difference location, the current CS value will be used as a segment address. [Note] Unless the position of the interrupt point is in the ROM, the BPX is set to set the interrupt point in the way. In this way, replacing the interrupt point scaler is to set more interrupt points. If your situation is required for some reason, you must use the Interrupt Point Transmission (for example, the program code is not loaded), you can use the BPM command to perform the interrupt point. [Example] BPX .1234 This instruction will set up interrupt points in the original program 1234 line. CSIP --- CS: IP range verification judgment syntax: CSIP [OFF | [NOT] Start-address end-address] not --- If you use NOT, only when CS: IP refers to exceeding the range, it will lead to interrupts. OFF --- Stop the check of CS: IP. Interpretation: The CSIP instruction will make the foundation condition of the interrupt point by the command indicator indicator indicator. This feature is especially useful when you have a suspected process that suddenly modifies its range. When the breakpoint condition is established, the CS: IP scaler will be compared to the specified range. When it is within the range, an interrupt is thrown. To trigger an interrupt at CS: IP, you need to use the not parameter. If no parameters are added, the current CSIP range is displayed. [Example] CSIP NOT F000: 0 FFF: 0 This instruction only incorporates an interrupt when the interrupt point condition is established and cs: IP does not point to the ROM BIOS. BPAND --- The syntax waiting for the composite interrupt point: bpand list | * | OFF list - a string of interrupt point numbers separated by commas or blank. * --- Composite all interrupt points. Interpretation: The BPAND instruction will logic's AND operations for two or more interrupt points. The interrupt is only true when all interrupt conditions are set up. In some cases you want to cause interruptions under many different conditions. The BPAND instruction allows you to specify that two or more interrupt points required before interrupt occurrence occurs. This feature allows you to set more complicated interrupt conditions. Each time you use the BPAND instruction to add the specified interrupt point number to the list until you use the BPAND OFF instruction. You can use the BL instruction to list the interrupt point to see which interrupt point numbers are complicated. There is a break in the breakpoint of the composite. Once the interrupt point is composite, it will abort unless this interrupt point is cleared or the bpand is turned off. [Example] BPAND 0, 2, 3 This directive will be interrupted by 0, 2, 3. Disclosure is only caused when the three conditions are set up. For example, if the conditions 2 and No. 3 are set up more than one, but the standards of the No. 0 have not been established, and only the interrupt will only be caused when the condition is established.

§ 4.3 Processing Interruption Soft-ICE provides a number of instructions to process interrupt points. The processing of the processing class can be used to list, modify, delete, start, and interrupt points. The interbank point is identified by an interrupt point number from 0H to FH. The instructions for processing the interrupt point are: BD --- Mediation interrupt point BE --- Start the interrupt point BL --- list the interrupt point BPE --- Edit Interrupt point BPT --- Clear Point as a State BC --- Clear Interrupt point BD --- Mediation interrupt point syntax: BD list | * list - a string of interrupt point numbers separated by commas or blank. * --- All interrupt points. Interpretation: The BD instruction is an activity used to temporarily suspend the interruption point. The interrupt point can be restarted with a BE directive (start interrupt point). You can use the BL instruction to list the interrupt point to see which interrupt points are aborted. There is a * after the breakpoint number is aborted. [Example] BD 1,3 This instruction will temporarily suspend the No. 1 and 3 interruption points. BE --- Start breakpoint grammar: be list | * list - a string of interrupt point numbers separated by commas or blank. * --- Start all interrupt points. Interpretation: The BE directive is used to restart the interrupt point that is aborted by the BD instruction. The breakpoint will be automatically started when the breakpoint is defined. [Example] BE 3 This instruction will start the No. 3 interruption point. BL --- List the interrupt point syntax: BL explanation: The BL instruction displays all currently set interrupt points. The BL instruction lists the interrupt point number, interrupt point condition, interrupt point status, and count of each interrupt point. The state of the interrupt point is divided into startup and abort. The suspension of interruptions are there in the breakpoint number. The breakdown of the startup used in the BPAND instruction is in which the breakpoint number will have a &. The last interruption of the interrupted interrupt will be displayed in high brightness. The BL instruction does not have a parameter. [Example] BL This instruction displays all defined interrupt points. The following examples are listed below: 0) BPMB 1234: 0000 W EQ 0010 C = 03 1) BPR B000: 0000 B000: 1000 WC = 01 2) BPIO 00021 W Ne Ooff C = 01 3) BPINT 21 AH = 4C C = 01 BPE --- Edit Interrupt Distance Syntax: BPE BREAK-NUMBER Solution: The BPE instruction will put the narrative of the interrupt point in the editing line for modification. Then you can re-edit with the editing key and press Enter to re-enter. This instruction allows you to quickly modify the parameters of the original interrupt point. [Example] BPE 1 The instruction will move the narrative of the No. 1 interruption point to the editorial line and clear the original interruption point. Press ENTER to re-enter this interrupt point. BPT --- Disclosure Point When the Syntax: BPT Break-Number comes: The BPT instruction will take the existing interrupt point to take the template of the new interrupt point. The original interrupted point narrative will be placed in the editorial line. The interrupt point referred to by the interrupt point number does not change anything. This instruction allows you to quickly set up new interrupt points similar to the original interruption. [Example] BPT 3 This instruction will put the model of the No. 3 interruption point into the editing line. When you press Enter, it will add a new interrupt point. BC --- Clear Interrupt Syntax: BC List | * List - a string by a comma or blank interrupt point number. * --- Start all interrupt points. Interpretation: The BC directive is used to clear one or more interrupt points forever. [Example] BC * This instruction will clear all interrupt points.

Chapter 5 Use other instructions 5.1 display and editing class instruction instructions: u --- reverse group translation or display the original code R --- display or change the transfer map --- Display system memory distribution diagram D --- Display memory DB in the form of a last specified form to display memory DW in the form of a bit ing group --- Show memory DD in the form of a group --- Display memory in the form of a double group E --- Edit the memory EB with the last designated form Edit Memory EW in the form of a position group --- Edit Memory ED in the form of a group in the form of a double group Body int? --- Display the last call interneturb number? Or h --- Display Assistive Message Ver --- Display Soft-ICE version number u --- reverse group translation or display the original code pattern: U [ Address] [l [=] length] Length --- Program length explanation to reverse groups: U This instruction will display the program code that is in debugging. If you do not specify Length, the internal value is 8 rows or screen lengths. If Address is not specified, this instruction will start the reverse group from the last reaction of the last counter-group translation. If the anti-group translation instruction has never been used, start from the current CS: IP. If the programming window is visible, the rule code is displayed there. If the original program code of the specified address range is loaded, the current original code mode determines whether or not to display the original code. [Example] The U $ -10 This command starts to reversely translate from the top 10h of the current address. [Example] U.499 This instruction will start displaying the original code from 499 rows. The programming window must be visible and must be in the original code mode. R --- Display or change the tempolic syntax: r register-name [[=] value] register-name --- For the following: Al, AH, AX, BL, BH, BX, CL, CH, CX , DL DH, DX, DI, SI, BP, SP, IP, CS, DS, ES SS, or FL VALUE --- If Register-Name is not FL, value is a 16-entered value or an arithmeter. If register-name is FL, Value The following flag symbols one or more combination. The flag symbol can be added to the front plus or -. O - overflow flag Sleeve D - Direcrion Flag Direction Flate I - Interrupt Flag Insert Charag S - SIGN FLAG Positive Neglage Flate Z - Zero Flag Zero Flate A - AUXILIARY Carry Flag Auxiliary Gold Flag P - Parity Flag polarity flag C - Carry flag port banner solution: The R command is used to display or change the value of the teleconmier. If you do not specify a parameter, all scratches and flags of the flag and the current CS: IP code code are displayed. If only register-name is specified, the Soft-ICE displays the current value of the specified transmitter and prompts you to enter a new value. If register-name is FL, the flag currently set will be displayed in high brightness; the flag not set is displayed with ordinary lowercase. To maintain the value of the current scratcher, press Enter directly. If register-name and value are specified, the value of the specified scratcher will be changed to Value. Want to change the value of the flag, put the flinter-name, then you want to switch the flag symbol. If you want to set a flag, add before the flag symbol. To turn off a flag, add one before the flag symbol. The flag can be arranged in any order. [Example] R AH 5 This command will change the value of the AH speculation to 5.

[Example] R fl = o zp This instruction will switch the value of O, Z, and P flag. [Example] R FL This instruction displays the value of the current flag and allows you to modify its value. [Example] R FL O A -C This instruction switches the O flag, sets the A flag and turn off the C flag. Map --- Display System Memory Pattern Syntax: MAP Solution: The MAP instruction displays the name, location, and size of each memory part. The size is calculated by the page. One is equal to 10h byte. CS: The part referred to in IP will be displayed in high brightness. The timing of using the MAP instruction: * When the interrupt point occurs, the unknown memory segment is pointed. * You want to control a residential or system program. You can set the scope interrupt point according to the start of the MAP instruction. * You suspect that the program or system is outside its memory space. The MAP instruction can be used to find the memory address of this section to use in CSIP. * You must find which resident has had the current insert vector. [Example] MAP The following is an example of this instruction display: ........ If the version of DOS is lower than 3.1, the location of the display is displayed instead of its program name. D DB DW DD --- Display Memory Syntax: D [Size] [Address] [L [=] Length] Size --- B - Byte W - Word D - Double Word LENGTH --- To display a few A bit group. Interface: D This instruction will display the memory content of the specified address. The memory content is displayed in the form of a specified size. If you do not specify size, it will be displayed at the last size. All forms will display the ASCII code. If Address is not specified, the last bit group of the last packet of the previous display begins to display. If you do not specify Length, the internal value is 8 rows or because the window is smaller. If the information window is visible, the information will be displayed in the data window and the Length will be ignored. [Example] DW DS: 00 l = 8 This instruction displays the first 8-bit set of current data segments in the form of a group and ASCII. E EB EW ED --- Editing Memory Syntax in the form of a bit ing group: e [size] address [data-list] size --- b - Byte W - Word D - Double Word Data-List - - A string of specified size, (bit group, group or double word group) or a comma, blank separated an extension string. The string of the plus number can use single quotes or double quotes. The explanation: E instructions displays the contents of the designated address and let you edit its value. This instruction displays the memory content in the form of ASCII and is based on the specified Size. The memory editor allows you to update your memory quickly. You can type ASCII vol or to enter the bit tuple, the group, and the value of the double group group to edit the memory. If no size is specified, the size of the last use is accurate. The following is the button edited by the memory: --- Camper shift --- the cursor down - the cursor right shift --- Cursor left shift Space --- Trushes to the next element on Tab --- in the Digital District Switch ESC or ENTER in the ASCII interval --- When you enter the memory editor, the value on the real memory is also updated. All numeric values ​​are represented in 16. Press the Tab button to switch between the digital zone and the ASCII section. If the data window is visible, the information is modified; otherwise modify in the command window. The length of the data is displayed in the command window. If the data window is visible, then the data window is in the same size. If you don't add a parameter and the data window is visible, the cursor will move into the data window. If the information window is invisible, you will start editing by the location of the last display or editing in the command window.

[Example] EB 1000: 0 This command starts from 1000: 0000, with a bit ing group, and the value of the data is displayed with a number and ASCII character. You can edit these displayed values. [Example] EB 8000: 0 "Hello", 0D This command replaces the value starting from 8000: 0000 in a Hello string and an ingredient. INT? - Display the last call interneturbial syntax: int? Explanation: int? Instruction Displays the last interruption number and its address. [Example] INT? The following is an example of the INT? Display: Last Interrupt: 16 At: 0070: 0255 This example is displayed before the Soft-ICE window is called, the system last call is 16h interruption, the address is 0070 : 0255. If the last interoperability is a software internetle, from 0070: 0255, the reverse translation will display the program code. If it is a hardware interrupt, the reverse group translates the program code executed when the insertion occurs. ? Or h --- Display Assistive Meeting Syntax: [command | express | expression]? And H command will display auxiliary message. If not specified parameters will display a simple explanation of all instructions and operators at a time. Press any key to continue to display or press the ESC button to leave the auxiliary instructions. If you have a specified parameter, a detailed description of the instruction syntax and examples are displayed. If an arithmetic occurs, it is calculated and the result is displayed in a 16-carry, 10 carry and the ASCII character. [Example] Altkey This instruction displays information about the grammar and examples of the AltKey instruction. [Example] H 10 14 * 2 This instruction will display: 0038 00056 "8". This is a 16-carry, 10 entered value and ASCII character of 10 14 * 2. Ver --- Display Soft-ICE version number syntax: Ver [Example] Ver This instruction displays the version of Soft-Ice and the copyright message of NU-MeGA. §5.2 I / O command instructions: I, IB --- Enter IW by bit tuple I / O --- By group I / O input O, OB --- by bit tuple I / O Output OW --- By Group I / O Output I, IB, IW --- Enter syntax by I / O: i [size] port size --- b - Byte W - Word D - - Double Word Port - The value of a bit group or a group of groups: This instruction input is used to read and display the rigid value. You can enter from the bit yuan group or word group. If no size is specified, the internal value is a bit group. [Example] I 21 This command is the value of the mask scratcher of the interrupt controller. O, OB, OW --- Bravani I / O output syntax: o [size] port value size --- b - Byte W - Word D - Double Word Port --- a bit group or The value value of the group value --- bit 元埠 is a metale value; the word group is a word group value, and the output instruction is used to write the hardware. You can do output to the bit element group or the word group, if you do not specify size, the internal value is a bit yuan group. [Example] O 21 FF This instruction masked all the interrupts of the first interrupt controller.

§5.3 Conversion Control Instruction Directive: X --- Leave Soft-Ice Window G --- Performing to a Address T --- Tracking a Code P --- Single Step Execution HERE --- Current cursor, Genint --- Forced an inter-intermoded EXIT --- Force leave the current DOS program boot --- Loading system (reserved Soft-Ice) HBoot --- Hardware system loading (completely reset) X --- Leave Soft-Ice Sound Window: X explanation: The X instruction will leave the Soft-ICE window and restore the control of the program that is interrupted by the Soft-Ice. The Soft-ICE window will disappear. If there is any interrupt point, it will be started. [Example] x g --- Performance to a address Syntax: g [= STAER-Address] [BREAK-Address] explanation: The G directive leaves the Soft-ICE window and sets only one execution interrupt point. In addition, all Sticky breakpoints are also started. If you have a Start-Address parameter, will be executed from Start-Address; otherwise it will be executed from the current CS: IP. The program will be executed until Break-Address is reached, and the hotkey, which is called out, will stop. Break-address must be the first packet of a program code. When the specified Break-Address is reached, the CS: IP will point to the location where the interrupt point is set. The G-Directive and the X command that the unparalleled parameters have the same effect. Unless all interruption points are covered by Sticky interrupt points, otherwise the breakpoint in Non-Sticky will use the 80386 interrupt point telecommunications. In this case, the interruption point will use the INT 3 mode. In this case, G or P instructions in the ROM will not work properly. If you try to do this, an error message will be displayed. [Example] G CS: 1234 This command will set a discontinuation in CS: 1234. T --- Tracking a scheduled syntax: t [= start-address] [count] explanation: T instructions use the single-step flag to perform a single-step code. If you do not specify Start-Address, it will be executed from the current CS: IP. If you specify Start-Address, CS: IP will point to Start-Address for a single step. If there is a specified count, Soft-ICE will perform a single step. The TRACE directive will continue until COUNT is zero or press the ESC key, regardless of whether there is an interrupt point. If it is in the original code mode, the T instruction will step to the next original code. If the current narrative is a program or a call function, the original code of the program is present, the T instruction will perform a single step to enter this call. If there is no call, the original code of the function, the T command will perform a full program in step. [Example] T = 1284 3 This instruction will be single stepped in 3 channel code in the memory site 1284. P --- Single-step execution programming: P explanation: P instruction is a logical program single step execution. Unless the current CS: IP code code is a call, insertion, loop or repeated string, this program code will be executed. If the call, the interrupted equation, the entire program or repeated action will return to Soft-ICE. The P instruction will set a single execution interrupt point. Unless all interrupt point terminus are covered by Sticky interrupt point, otherwise the Non-Sticky interrupt point will use the 80386 interrupt point scrail. In this case, the interruption point will use the INT 3 mode.

In this case, G or P instructions in the ROM will not work properly. If you try to do this, an error message will be displayed. If it is in the original code mode, the P instruction will step to the next original code. If the current narrative is a program or call function, the P instruction will complete it entirely. [Example] P This instruction will single step execution program. Here --- Performing the current cursor's grammar: Here explanation: The Here Directive will continue to the current cursor. Only the Here instruction can be used when the cursor is in the program. If the program code window is not visible or the cursor is not there, replace it with the G instruction. The Here instruction leaves the Soft-ICE window and sets an execution interrupt point for only one. In addition, all Sticky interruptions are also started. The program will be executed by the current CS: IP until the program code is executed in the position of the cursor, the hotkey called the window is used, or a sticky interrupt point occurs. Unless all interruption points are covered by Sticky interrupt points, otherwise the breakpoint in Non-Sticky will use the 80386 interrupt point telecommunications. In this case, the interruption point will use the INT 3 mode. In this case, G or P instructions in the ROM will not work properly. If you try to do this, an error message will be displayed. [Example] This example is set to perform an interrupt point in the current cursor, then leave Soft-ICE and start from the current CS: IP. Genint - Forced an intermove syntax: Genint INT1 | INT3 | NMI | Interrupt-Number Interrupt-Number --- 00 to FF A number explained: Genint instructions will force an interopement. This feature can be used to hand over the control. This can also be used to test the interrupt program. The Genint instruction will simulate execution of a hardware interrupt or INT code. It will push falg, cs, and ip into stacks, and change the value of the CS, IP to the interrupted vector table and the specified interrupt-number entry point. [Example] Genint NMI This instruction will force an unable to mask interruption. If Soft-Ice and CodeView are used together, this will return the control to the CodeView. Exit - Force leave the current DOS program grammar: exit [r] [d] r --- Recovery Insert Vector Table D --- Clear all interrupt points: Exit instructions to abort the 4CH function of INT 21h Current program. This instruction can only be used in a state where the DOS can accept this function call. If this call is called by the current interrupt letter or when the DOS has not been prepared, the system's behavior will not expect. When using the R parameter, in addition to the interrupt vector table, no system reset action is made. This means that the BIOS variables, video modes, and other system levels are not reduced. Use the R parameter to restore the interrupt vector into a status of their last stored. Soft-ICE will store interrupt vectors when loading in LDR.exe when loading and using a VECS S command. [Note] Restarts the program loaded by ldr.exe in accordance with the following steps: The EXIT R LDR Prog.exe Exit command will restore the interrupt vector table to load the value before loading, and then return to the command processor. By performing LDR and plus .exe's tail can reload the program without the need for overload symbols and initial code. Symbols and original codes are kept in memory. [Note] The EXIT directive must be careful. Because Soft-ICE can be called at any time, there may be a situation where DOS cannot accept the stop function call. And the exit command does not reset the condition. For example, the exit command does not reset video mode.

If your program puts BIOS and hardware in special video mode, you will remain in this mode after using the Exit command. [Example] EXIT R restores the interrupt vector table and jumps out of the current program. If the program is loaded with ldr.exe, add the R parameter. Boot --- Loading System (Keep Soft-ICE) Syntax: Boot Interface: The boot directive resets the system and retains Soft-Ice. Boot can be used to deactivate the loader, DOS driver and non-DOS operating systems. Boot is a method of interrupted a call in a 19h in ROM BIOS. Sometimes 19H interruption may not work. If this situation occurs, the Soft-ICE is called and use the Hboot instruction. In order to make Boot's correct work, Soft-Ice is required to be loaded in config.sys. Such Soft-ICE can restore the original state of the system as much as possible. [Example] Boot This instruction will reload the system. Soft-ICE is still reserved. HBoot --- Hardware System Load (full reset) Syntax: HBoot explanation: The HBoot instruction resets the entire system. Soft-ICE will not retain during resetting. The HBoot is enough unless the card card needs to reopen the power to reset otherwise. In this rare situation, you must turn off the power and then turn it on. [Example] HBoot This instruction will reload the system. Soft-ICE must be reloaded. §5.4 Include mode instruction instruction: action --- Set the action after the interrupt point WARN --- Set DOS / ROM BIOS Re-entRancy warning mode Break --- Interrupt 13 HerE --- Point INT 3 to Soft-Ice Action - Set Action Syntax after the Interrupt Point occurs: Action [INT1 | INT3 | NMI | Here | Int-Number] Int-Number --- Any available interneturb number (0-ffh). It can only be used when your interrupt point handler has replaced the original insert vector. (Refer to §11.2) explanation: The Action instruction is used to determine whom will be given when the breakpoint condition is established. Most of the conditions are int3 or here. INT3 is used when the Soft-ICE and other aparts are used together; Here is used to return the interrupt point condition to be returned to SOFT-ICE. INT1 and NMI are both choosing an extension that cannot be used in INT3. For example: When using CodeView, the Action is set to NMI. Int-number can only be used when you have replaced the original insert vector. If there is no interrupt point handler, an INT-NUMBER will have an error. See §11.2 for more information. If no parameters are added, the current setting will be displayed. The complex value of Action is here. [Example] Action Here This command sets the Soft-ICE when the breakpoint condition is set up. WARN --- Set DOS / ROM BIOS Re-entry Warning Mode Syntax: Warn [on | OFF] explanation: WARN instructions are used to make Soft-Ice and will use DOS or ROM BIOS use. Many divided modulators use DOS and ROM BIOS to do screen output and read buttons. Because DOS and ROM BIOS are not fully re-entry, if the interrupt point occurs when the DOS or ROM BIOS is executed, the extension may not work properly.

If the WARN ON is set and the action is not here, the control is handed over before the real action will give the Soft-Ice. The system will display current CS: IP and let you decide to continue or return to Soft- Ice. In general, you should choose to return to Soft-Ice to continue to be wrong. Continue only when you have determined that DOS or ROM BIOS is not re-entry. WARN should be set to ON when Soft-Ice and Debug, SymDeb, and CodeView. If the unparalleled parameters will display the status of the current WARN. The last value of WARN is OFF. [Example] Warn on this instruction opens the DOS / ROM BIOS re-entry warning mode. Break --- Interrupt syntax at any time: Break [on | OFF] comment: Break instruction allows you to call Soft-Ice from the turns from the following system even under shutting out. You can use the Break mode throughout the error or switch when needed. Break mode will reduce the efficiency of the system. Although the efficiency of the system will be lowered, it can be jumped out of the route. Even if the efficiency is lowered, if the program may be cautious, the user may still use the BREAK mode directly. Unlike other decentralizers, Soft-ICE does not require additional switches. When Break is ON, you can call Soft-ICE as long as you press the hotkey. If the plus parameters will be displayed, the status of the current BREAK will be displayed. BREAK's internal value is OFF. [Example] Break on this instruction opens the Break mode. This means that even if the interruption is turned off, Soft-Ice can also be called. 13HERE --- Pointing INT 3 to Soft-ICE Syntax: 13HERE [ON | OFF] comment: 13HERE instruction lets you specify that all IC 3H will call the window of Soft-Ice. This feature is useful when you want the program to stop in a particular location. To use this feature, add the INT 3 instruction in the location you want to stop in your program code. When INT 3 occurs, the Soft-ICE window is called. At this time, you can use the R IP instruction to change the instruction indicator pointing to the next program code of INT 3; then you can continue the error. If no parameters will display the status of the current 13 HERE. 13HERE's internal value is OFF. [Example] The 13HERE ON This instruction opens 13 HERE mode. All ICEs after this will be called Soft- Ice window. § 5.5 Common Directive Directive: A --- Compilation Code S --- Search Data F --- Fill the data into the Memory M --Trunk C --- Compare two memory block A - - Compile-in code syntax: a [address] explanation: Soft-ICE sequencer allows you to translate the program code directly into the memory. This group translator supports the expansion of the 8086 program code and 80186, 80286 real addressing mode. However, the arithmetic aids and 80386 special program, and the scratch additive mode, etc. cannot be configured. The A command will enter the Soft-ICE built-in group. The address is displayed as a prompt symbol before each row. This program code is in the memory into the memory of the specified address when the composite language is joined and pressed. The program code must meet the standard Intel mode. Press ENTER to leave the group translation mode at the address prompt symbol. If you are group translation, the memory range is visible in the program code window, and the interpretation time code will change. Soft-ICE Compiler Support Standard 8086 Directive, but some enhanced: * DB instructions are used to directly define bits tetrans in memory. After the DB command is connected to a crosstalk, group, or / and string separated by blank, comma. * Retf represents a Far Return.

* Word PTR and BYTE PTR are used to determine the size of the information. Such as: Mov Byte Ptr ES: [1234], 1 * Using FAR and NEAR to clearly specify remote or short jumping or calls. If FAR, NEAR is not specified, it will be treated as a NEAR. * Reference The calculation domain to the memory location must be placed in square brackets. Such as: MOV AX, [1234]. [Example] A cs: 1234 This instruction will prompt you to enter a combined language code and start from CS: 1234. After entering the last channel, press Enter after the address is symbol. S --- Search Data Syntax: s Address L Lebgth Data-List Data-List --- A string-bit group data or a comma, blank separated an extension string. A single quotes or double quotes can be used. LENGTH - bit group length. Interface: The S instruction will search for the same bit group or character as Data-List in the memory. Searching The action begins with the specified address and continuously searches for the Length bit group. The address of each discovery will be displayed. [Example] S DS: Si 10 L CX 'Hello', 12,34 This instruction will start searching for the Hello string after 12h, 13h from the current data segment to Si 10. Search will continue the CX bit group to stop. H --- Fill the information into the memory grammar: f address l length data-list data-list - a string of a batch component or a comma, blank separated an extension string. A single quotes or double quotes can be used. LENGTH - bit group length. Interpretation: The f command will fill the memory with the specified Data-list. The fillled action begins with the specified address and continues the LENGTH bit group. Data-list if necessary. [Example] F 8000: 0 L 100 'Test' This instruction will fill in the TEST of 100H-bit ing group from 8000: 0000. The TEST sequence will continue to rearrange until the specified length is completed. M --- Movement Information Syntax: M Start-Address L length End-Address Length - Bits Group Length. The M instruction will move from the specified Start-Address Length bit ing group information to end-address. [Example] M 1000: 0 L 200 2000: 0 This instruction will move the 200H bit group from 2000: 0000 from the memory site 1000: 0000.

C --- Compare two memory block syntax: c address1 l length address length. Interpretation: The C instruction will take the memory block and address2 data by address1. If the value of the first block and the value of the second block are different, the respective values ​​and their memory dispensing are displayed. [Example] C 5000: 100 L 10 6000: 100 This directive will compare the memory block of 10h-bit yuan group from the memory site 5000: 100 and the memory block of 10h-bit yuan group starting from 6000: 100. value. § 5.6 Special Error Directive: show --- Displayed in History Buffer TRACE --- Traction Tracking Modulation XP --- In analog Tracking Mode Performs Single Step Perform XP - - Certificate single-step XG in the analog tracking mode is performed in analog tracking mode to a bit XRSET --- Reset Track Tracking Buffer VECS --- Storage / Restore / Compare Down to SNAP --- Take the snapshot of the memory area Emmmap --- Display EMM allocation graph show --- Show in History Buffer Code Code Codes: Show [B | START] B --- This will make show The command starts from the earliest code code in the buffer. START --- How many programs start displayed before the last program code (final grasp of the final grasp). The SHOW instruction displays the schedule code in the backtrip tracking buffer. If the original code of the program code is displayed in a mixed manner; otherwise only the program code is displayed. The show instruction can be rolled with the upper, lower, Pageup, PageDown, etc. Press the ESC button to leave the show instruction. There is a buffer to enter the number before each program address address. This number indicates that you have deeply deployed the buffer. The higher the number, you indicate a deeper place in the buffer. [Note] You must use the range to track the record code with the range before using the Show command. See Chapter 9 to achieve more information about retrospective tracking. [Recommendation] Set the program code window to visible and displaying the truly code section of the current backtracking buffer. This comparison program code and the true process are never snapped up. After the TRACE instruction, you then use the show instruction to let you use two different views in the backtrack tracking buffer. [Example] SHOW 40 This instruction will start from the downstraum of the backtracking buffer countdown. TRACE - TRACE Simulation Syntax: Trace [START] | [OFF] start --- How many programs start analog tracking from the last program code in the buffer (final grasp). OFF - Leaves the simulated tracking mode. Commentary: The Trace Directive allows you to replay the program code in the backtracking buffer in the case of the first time. You must set the program window to visible to use analog tracking mode. After entering the analog tracking mode, you can use the XT, XP, and XG instructions to track the program code in the buffer. Enter TRACE OFF to leave the analog tracking mode. The TRACE instruction of the unparalleled argument displays the current analog tracking mode is ON or OFF. [Note] Before using the Trace Directive, you must track the record code. See Chapter 9 to achieve more information about retrospective tracking. [Recommendation] The analog tracking mode can play a maximum function in the module window. Use the Trace Directive and Show instructions to use it is useful. This will simultaneously display the routine code in the backtrack tracking buffer in two different types. [Example] TRACE 40 This command will enter analog tracking mode from the 40th ruler code of the backtrack tracking buffer. Always stay in analog tracking mode before entering the Trace Off command.

XT --- Single-step execution syntax in analog tracking mode: XT [R] R --- reverse performs single-step execution. Interpretation: The XT command will be single step in the retrospective tracking buffer. This instruction is similar to T in a normal extension. It should be noted that single-step execution in the analog tracking mode does not change the value of the temporary register outside of the CS and IP. The XT instruction allows you to replay the schedule code in the backtrack tracking buffer. [Note] Before using the XT command, you must first enter the analog tracking mode. See Chapter 9 and Trace Directive to achieve more information about the trace tracking. [Recommendation] If you often use the XT instruction, it can set a function key like other instructions. [Example] XT This command will perform a program code in the analog tracking mode. XP --- In analog tracking mode, a single-step syntax: XP explanation: XP instructions will perform a single step in the backtracking buffer. This instruction is similar to T in common. It should be noted that the value of the scratcher of the IP is not changed in addition to CS. The XP instruction allows you to replay the schedule code in the backtracking buffer. [Note] Before using the XP instruction, you must first enter the analog tracking mode. See Chapter 9 and Trace Directive to achieve more information about the trace tracking. [Recommendation] If you often use XP instructions, it can set a function key as other instructions. [Example] XP This instruction will be in an analog tracking mode. XG --- Performing a site syntax in analog tracking mode: XG [R] Address R --- Reverse Search. Address --- The address that is going to execute in the backtracking buffer. The XG instruction will move the program indicator to the next code code of the address specified in the backtrack tracking buffer. If there is a plus R, the program indicator will be moved to the previous type of the specified address. Address must be a first tuple of a program code. The behavior of the XG instruction is similar to the G. [Note] Before using the XG command, you must first enter the analog tracking mode. See Chapter 9 and Trace Directive to achieve more information about the trace tracking. [Example] XG 273: 1030 This instruction will move the programming index to the latter instructions of the site 273: 1030. XRSET - Reset Back Trace Buffer Syntax: XRSET explanation: XRSET instructions reset the backtrack tracking buffer. If you don't want the program code in the backtracking buffer, you must perform this instruction when setting the backtracking range. [Example] The instructions of the SRSET reset the tracestable buffer. VECS --- Storage / Restore / Compare Inline Vector Syntax: VECS [C | S | R] C --- Compares the current interopemental meter and stored table. S --- Store the current insert vector table. R --- Restore insert vector table in the buffer. Interpretation: VECS instructions allow you to store interneturb vectors to build buffers or restore in Soft-ICE. You can also compare the real interopement vector table and the stored table and display the difference between the two C instructions to compare the current inline meter and save the stored vector table, will be displayed in the following format: Address Old- Vector New-Vector Each change insert vector is displayed. The interruption vector table will be stored when loading the Soft-Ice. The vector table is also automatically stored when loaded in ldr.exe. Only one interopement vector form will be stored, so each backup internetlert vector table will be overwritten each time you execute VECS S. If the plus parameters are not added, the entire insert vector table is displayed. [Example] VECS C This command compares the true interopement vector table and the last stored vectors in the Soft-ICE buffer buffer. Snap - - Take a snapshot grammar of the memory section: SNAP [C | S | R] Address1 Address2 C --- compare buffers and memory ranges. S --- store the memory range into the buffer. R --- Restore the memory range from the buffer. Commentary: The SNAP instruction will take a snapshot of the memory area for later than a later comparison.

The S-parameter backs up a memory range into the buffer in the extended memory. Use the C parameter to display the real memory between the buffers and the specified address range in the extended memory. Plus the R parameters will copy the buffers in the extension memory to the site range in the main memory. If you use a C parameter to compare the buffer and location range, the following format output: Address Old-Data New-Data is displayed. You usually do not need to add Address when using C and R instructions. If you do not specify address, you will use the last time address's Address Snap instruction. [Note] To use the SNAP instruction you must add / TRA xxxx parameters in the s-ice.exe line in config.sys. The SNAP instruction stores the data to the backtrack tracking buffer. If you are using backtracking, you will conflict with SNAP. If you use the SNAP S command to use the SNAP S command to write back to track information when you have a code code in the tracking buffer. Conversely, if you use the SNAP instruction to store a segment and then open the range backtrack tracking down the Snap buffer. [Example] SNAP S 2000: 0 4000: 0 This instruction will save the data sector from 2000: 0 to 4000: 0 to the backtrack buffer of Soft-ICE. Emmmap --- Display EMM Assignment Diagram Syntax: EMMMAP explanation: The EMMMAP instruction displays each available Page and currently mapped Page in the EMM Memory. [Note] You must start the Soft-ICE EMM feature to use this feature. See Chapter 8 to achieve more information about starting EMM capabilities. [Example] Emmmap This will show the current EMM allocation: Phy Page SEG Addres Handle / Page 00 D000 FFF 01 D400 0001/0000 02 D800 0001/0001 03 DC00 0001/0002 In this example, Page 0 is There is no mapping in D000. PGAE 1 is in D400, Handle is 1 and Page 0 is mapped here. Page 2 is in D800, Handle is 1 and Page 1 is mapped here. Page 3 is in DC00, Handle is 1 and Page 2 is mapped here. 5.7 Window Directive Directive: WR --- Switching Terminal Window WC --- Switch / Setup Code Window Size WD --- Switch / Set Data Window EC --- Enter / Leave Program The code window. --- The current program code SOFT-ICE has three windows: Temperane window, data window and program window. These windows can switch or close at any time. The data and program elements can change their size; the size of the scratch window is fixed. The order of the window is always fixed. From the top of the screen, the tip of the screen is the provision window, the data window, and the program window. WR --- Switch Speaker window syntax: WR explanation: If the temporary window is not visible, this instruction will cut it as visible. If the scratch window is currently visible, the WR instruction will turn off the scratch window. The scratch window will display the value of the 8086 terminus and the values ​​of each flag. The internal function key: F2 WC --- Switch / Setup program window size Syntax: WC [Window-size] Window-size - Ten-in-one digits between 1 to 21. Commentary: If you do not specify Window-size, this instruction will switch the program code window. If the programming window is invisible, it will be obvious; if it is visible, it will be closed. If you have a specified window-size, the program window will reset the size. If the programming window is invisible, it will be displayed in the specified size. [Note] If you want to move the cursor to the program window to use the EC instruction. See the EC Directive to make more information.

[Example] WC 12 If the programming window is invisible, a 12-line size programming window is displayed. If the program window is currently on the screen, its size will be reset to 12 lines. WD --- Switch / Set Data Window Size Syntax: WD [Window-Size] Window-size - Ten-in-one digits between 1 to 21. Interpretation: If no Window-size specified, this instruction will switch the information window. If the data window is invisible, it will be obvious; if it is visible, it will be closed. If you have a designated Window-size, the data window will reset the size. If the information window is invisible, it will be displayed in the specified size. [Example] WD 1 If the data window is invisible, a 1 line size information window is displayed. If the information window is currently on the screen, its size will be reset to 12 lines. EC --- Enter / Leave Code Syntax Syntax: EC Interpretation: The EC instruction will switch the cursor in the program window and instruction window. If the cursor is in the instruction window, it will be moved to the program code window. If the cursor is in the program, it will be moved to the instruction window. When the cursor is in the program, there will be more available features, which makes the error easier. These functions are: * Point-and-shown break points point-and-shoot break point is set with BPX instructions. If you do not add parameters, you will set the interrupt point in the current cursor. The line of the cursor must contain the code code. (If you are not sure, the programming window is opened with a mixed mode) The function key of the file BPX is F9. * Go to Cursor Line You can set a temporary interruption point in the location where the cursor is located, and execute it with the Here instruction. The line of the cursor must contain the code code. (If you are not sure, the programming window is opened in a mixed mode) The function key of the internal reput is F7. * Scrolling The Code Window only can be rolled with the codes when the cursor is in the program. The rolling button has different definitions in the programming window. UP --- Tuning the program window up roll up. Down --- Take the program window to the next row. PageUp --- Take the program window up. PageDown --- Take the program window to the next page. [Note] The programming window must be visible EC instructions to use. --- Positioning the current programming grammar: explanation: When the model is visible, "." The instruction displays the current program. § 5.8 Removalizer Settings instruction instruction: pause --- Displaying the full screen to suspend AltKey --- Set the startup hot button FKEY --- display, modify the function key base --- Set / Display the current base Ctrl-P --- Sending the LOG to the print machine Print-Screen --- Print the current screen PRN --- Set the printing machine output 埠 PAUSE --- Shop after a screen Syntax: pause [on | OFF] explanation: The PaUSE instruction will suspend the screen at the end of each page. If the PAUSE is set to ON, Soft-Ice will prompt you to press any key to continue the scroll window, prompting the message to display the status line at the bottom of the screen. If you do not specify any parameters, the status of the current PAUSE is displayed. PAUESE's internal value is ON. [Example] The PaUSE ON This instruction specifies that the display on the screen will continue to be scrolled after you enter any key. Altkey --- Set Soft-Ice Startup Hot Key Syntax: Altkey [Altletter] | [Ctrlletter] | [SysReq] Letter --- Any letter (A - Z) commentary: AltKey instruction allows you to change The hotkey of the Soft-ICE.

You can change the hotkey to Ctrl letters, Alt letters or SYSRQ (ie the PRTSCR) key. Sometimes you may use the program that will conflict with Soft-ICE CTRL-D hotkeys, one of the methods of avoiding this conflict is to use the AltKey instruction to change the hotkey of the Soft-ICE. Another method is to press the SHIFT key in the hotkey combination, and the Soft-ICE does not respond to such a combination, so it can pass the hotkey to your program. For example, if the residential program you use is called Ctrl-D, try to use Ctrl-Shift-D to call your program. Some keyboards you have to simulate a SYSTEM Request by Alt-Prtscr. Be careful not to accidentally print the things on the screen. If you do not specify a parameter, the current hotkey will be displayed. The internal thermal bond is Ctrl-D. [Example] Altkey Alt Z This command specifies that Ctrl-z is a hotkey called Soft-ICE. FKEY --- Display, modify function key syntax: fkey [function-key-name string] function-key-name --- F1, f2 ... f12 string --- String Contains any Soft-ICE instruction And special characters: ^ and; ^ Is used to make the instructions not displayed, and the representative presses Enter. The FKEY instruction is used to specify the instruction string represented by a function key, and the function key can be set to represent any of the instructions in any Soft-Ice. If you do not specify a parameter, the instructions of the current function keys are displayed. To cancel a function key to use this method: fkey plus function-key-name, then pick up a blank string. You can also specify the function key of the function key in setting the file S-Ice.dat. See §6.4 to take more information about setting the function key in the setting file. The symbol of the homing key is plus the symbol of the homing key to make a function key represent a series of instruction instructions. The home button is used; If you add ^ (SHIFT-6) in front of the function key, the next instruction will not be displayed. The function of the instruction is still the same, but all messages (including error messages) displayed in the command window will not appear again. This mode changes in the instructions to change the information in the window and you don't want to make the confusion in the instruction window. When the function key has an ^ setting, you can use this function key on the way to type other instructions without any impact on the instructions in the input. For example, if you use F2's internal value, you can switch the speculator window while entering your next instruction. [Note] Soft-ICE has a set file for S-Ice.dat, you can write the function keys in this file so that the function key is automatically set when the Soft-ICE is loaded. The syntax for setting the function key in the setting file is: function-key-name = "string". When setting the function keys in the setting file, you must use a double quotation mark to enclose the word. [Example] FKEY F2 ^ WR; (Command Line) This command is used to set the instruction of the F2 representation to switch the scratch window, and ^ represents this instruction will not be displayed, and the representative presses Enter. This F2 key can be used to switch the ON or OFF of the scratch window, and can be used at any time even when other instructions are input. [Example] FKEY F1 "G CS: 120; R; G CS:" This example shows that you can use a function key to represent many instructions, or represent a part of an instruction, waiting for the user's input Complete it. After entering this command, press the F1 key to execute the CS: 120, display the current registered value, then display the G command to wait for the user's input.

[Example] FKEY F1 WD 3; D DS: 100; (Command Line) This example will set the F1 key to represent a string of instructions. This button is visible and ends with ENTER. It will set the data window as the size of the three rows and display the information from DS: 100. [Example] F1 = "WR; WD 2; WC 10;" (S-Ice.dat) If this line is placed in S-Ice.DAT, the F1 key is automatically set when the Soft-Ice is loaded. When Press the F1 button in the Soft-ICE, it switches the scratch window to open a two-line data window, and a ten-line program window. Refer to Chapter 6 to achieve more information about setting the function keys in the S-Ice.DAT. Base --- Set / Displays the current base syntax: Base [10 | 16] explanation: The base instruction is used to set the base of 10 or 16. It is limited by 10 for the small window mode, which is affected by the width of the window. Even in the large-view window mode, some instructions are displayed by the number of data. When the base is 10, all the numbers and addresses of all inputs and display are represented in ten. If the fruit base is 16, it is an in addition to the original code line number, the screen covarian in the WIN directive, and the size is 16 inwards in 10 carry. The internal value of the base is 16. [Example] Base 16 This instruction will set the base to 16. Ctrl-P --- Sending the LOG to the Printegor Syntax: Ctrl - P Donate: After you press CTRL - P, all messages displayed in the instruction window will also be sent to the print. To stop sending LOG to the printer action, just press Ctrl - P again. When you use Ctrl - P to send a lot of information to the print machine, you will want to set the PaUSE to OFF, so the information can be rolled down without the need to go. Print-screen --- Printing the current screen grammar: Print-Screen commentary: Press the Print-Screen button to go to the entire screen. If you just want to print a memory content or an auxiliary data for an instruction, use Ctrl - P to be much better than using Print-Screen, because Print-Screen will include each character of the border on the screen. They are sent to the printer. PRN --- Set the Output of the print machine: PRN [LPTX | COMX] X --- Digital explanation of 1 to 4: PRN instruction allows you to send Ctrl - P and Print-Screen data to different The prescription is going. If you do not specify a parameter, you will display the currently specified print. [Example] PRN COM 1 This instruction will send the output of Ctrl - P and Print-Screen to COM 1. § 5.9 Screen Control Directive: Flash --- Restore Screen Flick when performing P or T instruction --- Mitigate the screen's flashing Watchv --- Set monitor display mode RS --- Display program screen CLS --- Clear Window ALTSCR --- Convert to replace screen WIN --- Change Soft-ICE Window size Flash --- Restore screen syntax when performing P or T instruction: flash [on | OFF] explanation: Flash instruction let you specify T or The P instruction is executed whether to restore the screen. If you specify that you want to restore the screen, you will have a short reduction when you execute it at T or P instructions. This feature you need to use when you have a program clip that you will access Video Memory. If the P instruction is used to perform a Call or interrupt, it will definitely have an action of the screen because the screen may be written. If you do not specify a parameter, the status of the current Flash is displayed.

Flash's internal value is OFF. [Example] The Flash on this instruction will set the Flash state to ON. Restore the footage when performing any P or T command. Flick --- Reduce the screen of the screen: Flick [on | OFF] explanation: Some display cards must be vertical before outputting the character, and the horizontal scan is completed. If any output, a flicker will occur when the character is displayed. If you use Soft-Ice, the screen will have a flashing phenomenon, you should set the Flick to ON. Some EGA cards You have no restore when you leave Soft-Ice, which is the problem of simulated EGA display. 3DA is a display of two functions. The first is some old CGA soft to 3DA to do HSYNC and VSYNC, which avoids flickering on some old CGA control cards. The second feature is used to reset the palette of the EGA card. Soft-ICE has a performance algorithm that you don't have to monitor this port, and monitoring will slow down some old program that thinks you have implemented on the CGA card. But in some cases, this settlement algorithm may not be available. If you are using Soft-Ice on EGA and discover the color does not have the correct restore, set the Flick to ON, this SOFT-ICE will monitor 3DA to solve this problem. When the Flick is set to ON, the speed of the screen will slow down. If no specified parameters will display the status of the current Flick. Flick's internal value is OFF. [Example] The Flick on this instruction will set the Flick mode to ON. Soft-Ice will be equal to the horizontal, and then output the character after the vertical scan is completed. WATCHV --- Set Monitor Display Mode Syntax: Watchv [ON | OFF] explanation: WATCHV instruction allows you to specify how Soft-ICE monitors the display. Usually the Soft-ICE only monitors the display after the INT 10 is executed to non-literacy mode. However, some programs do not have INT 10 to switch the display mode. Under this condition, if WatchV is set to OFF, the Soft-ICE may have problems when saving or reducing the screen. Setting Watchv to ON will make Soft-ICE monitor the display at any time. If you find that Soft-ICE does not correctly handle your screen, or you can't restore the cursor's position, set WatchV to ON. Setting WatchV to ON may affect the efficiency of current display mode. If you do not specify a parameter, the status of the current Watchv is displayed. Watchv's internal value is OFF. [Example] Watchv on this instruction will set WATCHV to ON. RS --- Display Program Screen Formation: RS Solution: RS Directive Let you temporarily restore program screens, Soft-ICE window will disappear until you can press any one. This feature is useful when making the program that often updates the screen. When the Soft-ICE is called, it will return to text mode, and the RS command can be temporarily returned to the drawing mode screen. [Example] RS CLS - Clear Window Syntax: CLS Execution: The CLS instruction clears the window of the Soft-Ice and moves the prompt symbol and the cursor to the top left of the window. [Example] CLS ALTSCR --- Convert to Replace Screen Syntax: AltsCR [ON | OFF] explanation: AltsCR instruction allows you to re-directed the output of the screen from the original screen to the replacement screen. This feature is very useful when you are in the drawing mode program, so you don't have to switch between drawing mode and SOFT-ICE. The ALTSCR requires the system to connect two displays. The replacement screen must be in a text mode, which is a display of the display. Watchv's internal value is OFF. [Example] ALTSCR on this instruction will redirect the output of the screen to the replacement display.

WIN - Change Soft-Ice's Window Size Skills: WIN [N | W] [START-ROW Length "] n --- When specified N, the window will be set to a smaller mode: 46 The character is wide. W --- When W - When W, the window will be set to the width of the entire screen. Start-row - 0 to 17 numbers. Specify which column starts from the window. Length --- 8 to 25 numbers. Specifies a few columns in the window. START-COLUMN --- Specify the window position in the small window mode to count the first few lines from the left. Start-row and start-column specify the location of the upper left corner of the small window mode. In the big window mode, START-Column will be ignored. The WIN directive allows you to modify the width and height of the Soft-ICE window. If you do not specify a parameter, this instruction is switched in a small window mode and a large window mode. If the WIN directive only adds N or W parameters, the width of the window will change to the specified size, but the height is constant. If the number of rows of the window plus START-ROW is greater than 25, the LENGTH of the window is stopped at the bottom end of the screen. WIN's internal value is a small window mode. [Example] WIN N 4 9 30 This instruction sets the window to start from the 4th column and the 30th line, and is 9 columns, 46 character wide. [Example] WIN This directive switches between large windows and small view mode mode. [Example] WIN W 10 8 This instruction sets the window to start from the 10th column and is 8 columns high, the width of the entire fire. § 5.10 Symbols and original code instructions *** Sorry .... Will not turn it ..... I look forward to the masterpiece of other people ... *** z is called Hotkey of Soft-Ice. FKEY --- Display, modify function key syntax: fkey [function-key-name string] function-key-name --- F1, f2 ... f12 string --- String Contains any Soft-ICE instruction And special characters: ^ and;

^ Is used to make the instructions not displayed,; Hacker.Aix / 00000024 / 00000006.htm 100644 023417 000000000000010644 06446674335 015467 0 USTAR 00BBSROOT BBS 000000 000000 S-ICE instructions ---------- -------------------------------------------------- --------- / TRA 0000K; Set the size of the tracking buffer, the minimum 10k ... / SYM 0000K; set the buffer size of the inserted synthetic file ......... S; if it extends the memory is not enough to add this parameter ....... ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------ Bounds [on | OFF]; Bounds on; Open the check in the protection mode Interrupt instructions ......... Bounds off; turn off the instruction of the check protection mode ......... ------------------ -------------------------------------------------- R 32; Decompose the 32-bit in the S-ICE window ... ----------------------------- --------------------------------------- Show [B | START] [llength]; Enhanced DEMP function Specifies the start length of the printing PRN B -; set the segment address and the internal location to the buffer ..... start -; designated starting segment address starting point ........ ..... length -; Designated end of the segment address endpoint ........... -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------- File [file- Name | *]; Instruction syntax file for reference group code ......... -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- Tabs [2 | 4 | 8 ]; Instruction of the control expansion length of the original file ......... -------------------------------- ------------------------------------ PRN COM1; Directive PRN to the correct communication 埠 ... ........ ---------------------------------------- ---------------------------- Colors = "4FH, 4EH, 7EH, 2FH, 0EH, 70H, 1EH, 1FH, 5FH, 30H , 3ch, 3EH "Colors =" Temperator Color, Data Zone Color, Code Code Color, Directive Color "; The color of the instruction Soft-Ice's window is in 16. ------------- -------------------------------------------------- ---- New Features ---> Set a interrupt point in the resident and the residential station, hard body simulation ......... MOV AH, 09H MOV Al, Function (Soot) MOV SI, 'FG' (4647H) MOV DI, 'JM' (4A4DH) INT 03H The SOFT-ICE sub-function is as follows:

转载请注明原文地址:https://www.9cbs.com/read-2387.html

New Post(0)