O>> Yes though and for banal memcpy. > It after all so is banal by means of SSE2. Almost as tonsils autogenous cutting through a bum. If it is more favourable, why is not present? O>> logic Exceptions can arise at throw and at arithmetics. The access exception is an exception after which do not live, and survive. Without warranties. > why? Well addressed to null pointer, happens. What for at once to fall? Well for example, in With null pointer dereferencing is undefined behavior. But at system level is certainly processed situation. But for this purpose it is necessary to play by rules. Physics laws allow the car to go somehow, but all eat on roads. When leaves after the journey and nobody is wound on a pole blames creators of roads/cars. Itself it is guilty. And in this case - that that resolves the processor are laws of physics. But there are also more high-level rules, as that a correctness of prologues/epilogues, mandatory alignment of a stack in any point of execution of the program. The processor allows to break them, but the functional given by OS assumes that those who use it - conform to the rules. Well and time does not follow also them wound on a pole - are guilty. > I so understood that the problem was in the organization of transmission of objects-lines through a stack. In Win32 all interruptions (including step by step debugging and test points) did not demand any alignment of a stack. In Win64 any exception demands the aligned stack - differently the forced end of the task. In any translator it is easy to provide any alignment. Here it was necessary to change a row layout paradigm in a stack and to finish a system library, instead of the translator. Classical "it worked for me". You relied on not documentary singularities on a certain platform. Now they changed. Moreover - they can change at any moment, with any . O>> However , got used to write on on agreements, they do not understand such concept. > Such impression that at you to the assembler something personal ... At me simply quite good such experience in , , asme/dizasme and other this bog therefore I extremely do not divide the decision "and let's make as works, it works". In the beginning it is necessary to read the documentation and to do at once as it is necessary. And only if if as it is necessary does not work as it would be desirable - then already to think about . > In Win32 all was reliable. On all exceptions there is built in response PL/1 run-time libraries, i.e. structural exception handling has already been built initially in language. Therefore all exceptions, and not just debugging also were necessary to the author. And taki-yes, in notorious PL/1 all exceptions share on fatal and not fatal. Differences - what to do if the output agent is not set. Fatal - end the task, not fatal - continue. > the author easily (and it is lawful) disconnected "researches" of a stack, indirect exception handlers go to a garden. > and the problem in Win64 remained exactly one - the exception is, the output agent is, a stack in tolerable limits, but the output agent is caused only on aligned on 8 stack. It contradicts a principle of scalability of OS, and to the processor on this alignment to spit, and to one cretin in a microsoftware - is not present. It is not necessary to confuse the and "principles of scalability of OS". O>> Setting of the output agent through RtlAddFunctionTable on various addresses is fraught with demolition of other exception handlers written not by the author: in system code and in the indirect code which appeared in its process on what or to the reasons (for example windows hooks dll, COM servers). Besides once RtlAddFunctionTable can refuse to register such function, since Its range is superimposed with already registered and will be absolutely right. It is necessary to be accurater. > once again - all exceptions should transit through a system library on language philosophy. A system library - in sense it is is specific this language which works UNDER OS Windows? In that case it breaks a principle of sharing of responsibility. As OS functional - causing system functions, COM the interface - you should rely on that that this functional is for you a black box. The open interception you interfere with its operation. As a result some system functions will work not as follows. For example LookupAccountSid instead of error status code reset can throw an exception, since inside it RPC, and RPC in itself mechanism SEH. Thus, shorting on itself exception handling, you risk to break another's code which works in your process. It not . Yours it is far not unique in system. But certainly all will always work for the programmer. Problems get out at users.