vc里定义了一个int ,返回它的地址0x435690
在vc里用asm
void main()
{
__asm
{
mov cx,0x435690
mov 0x435694,cx
}
}
编译不通过为什么?

解决方案 »

  1.   

    int is 32bit, cx is 16bit
    mov ecx,0x435690
      

  2.   

    mov 0x435694,cx
    这句也错了,看看寻址方式
      

  3.   

    General Purpose Registers               Segment Registers
    8/8    16   32                           16
    AH/AL  AX  (EAX)  Accumulator            CS     Code Segment
    BH/BL  BX  (EBX)  Base                   DS     Data Segment
    CH/CL  CX  (ECX)  Counter                SS     Stack Segment
    DH/DL  DX  (EDX)  Data                   ES     Extra Segment