@include"common.mac" @chapter "TMA-spezifische Erweiterungen und Kompatibilit„t" @snode "Extended PUSH and POP" TMA, like A86/A386 and TASM, accepts PUSH/POP with multiple operands. In A86/A386 mode they have to be separated by comata. FIXME! In TASM mode you'll have to put spaces between them. Example: PUSH AX,BX,CX,DX ;A86/A386 PUSH AX BX CX DX ;TASM generates: PUSH AX PUSH BX PUSH CX PUSH DX @endnode @chapter "IF" Syntax: IF Compatible to A86/A386 This directive enables you to execute a single instruction if the condition is true. OR AL,AL JNE >L1 XOR BL,BL L1: is the same as: OR AL,AL IF E XOR BL,BL @endnode @snode "MOV with segment registers only" Syntax: MOV segreg,segreg Compatible to A86/A386 This is usually not possible on Intel-CPUs. TMA creates PUSH/POP instructions instead which is different to A86/A386 who pushes another register to do the transer with it. TMA's method is the faster one on Pentiums. This line: MOV DS,CS will be converted to: PUSH CS POP DS ;by TMA. and PUSH AX MOV AX,CS MOV DS,AX POP AX ;by A86/A386 I don't know any reason to implement the latter. @endnode @endchp