• error C2443: operand size conflict


    #include <stdio.h>
    void main()
    {
    int a=98;
    __asm
    {
        mov al,a
        and al,11011111B
        mov a,al
    }
    printf("%c ",a);

    }

    编译出现下面的错误:

    --------------------Configuration: cc - Win32 Release--------------------
    Compiling...
    cc.cpp
    D:softVCMyProjectscccc.cpp(8) : error C2443: operand size conflict
    D:softVCMyProjectscccc.cpp(10) : error C2443: operand size conflict
    Error executing cl.exe.

    cc.exe - 2 error(s), 0 warning(s)


    原因:

    是编译出错。
    类型冲突:

    C/C++ code
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include   <stdio.h> 
    void   main() 
    int   a=98;     //int类型一般是32位,你把a定义成8位的 char型
    __asm 
            mov   al,a  //因为这里你引用的是8位长的 al寄存器
            and   al,11011111B 
            mov   a,al 
    printf("%c ",a); // 这里也需要是char类型的参数

  • 相关阅读:
    python剑指网络篇二
    使用sklean进行多分类下的二分类
    virtualenv下使用matplotlib
    谱聚类python实践
    K均值算法-python实现
    python使用hbase
    php运算符
    php常量
    php数据类型
    git,版本控制教程
  • 原文地址:https://www.cnblogs.com/vcerror/p/4289084.html
Copyright © 2020-2023  润新知