
You asked for the higher level version of it. But debuggers will be broken as they single step the code and AH will now contain 4Ch which will of course terminate the program. Without the influence of a debugger this won't be a problem as the third line will be prefetched and the first two lines will have no effect. Thus, 4Ch in AH followed by int 21 will terminate the program (interrupt thingy!). However the first two lines have been so crafted that will become 4Ch (someaddr has been so chosen such that it contains the address where 30h has been stored). This is so because int 21(DOS interrupt) along with an 30h in AH will return the dos version of the platform. This will take advantage of the instruction pipelining of the processor and the failure of debuggers (as they single step through the code) and can as well be an example of an anti-debug measure.

Here's an example in x86 assembly: MOV AX, 4Ch
