asm07.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 46 行

C
46
字号
#include "fail.h"

// preprocesor substitution and directive processing test for _asm

#define MOV_X_CONST(a) mov x,a

#define NUMBER_0A1BH 0a1bh

#define mmx  .MMX
#define sse3 .XMM3

int main() {
#ifdef __X86__
    unsigned int    x = 0;

    _asm    .8086   ; comment 1
    _asm    .386    // comment 2
    _asm    .586    /* comment 3 */
    _asm    mmx
    _asm    .K3D
    _asm    .686
    _asm    .XMM
    _asm    .XMM2  ;
    _asm    sse3

    _asm {
        .686
        .XMM3
        jmp l1
        addsubpd xmm1,xmm3
        l1:
    }
    _asm mov x,1 /* comment 3 */ _asm add x,2 /* comment 3 */ _asm add x,3 /* comment 3 */
    if( x != 6 ) _fail;
    _asm    mov x,1   ; comment 1
    _asm    add x,2   // comment 2
    _asm    add x,3   /* comment 3 */
    if( x != 6 ) _fail;
    _asm    MOV_X_CONST( 0a1bh );
    if( x != 0x0a1b ) _fail;
    _asm    MOV_X_CONST( NUMBER_0A1BH );
    if( x != 0x0a1b ) _fail;
#endif
    _PASS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?