#include<stdio.h>
void main()
{
	int a = 5;
	_asm {
		mov eax,10
		mov a,eax
	}
	printf("%d",a);
}

非常简单的一段示例代码

由于汇编的i\o比较麻烦,所以用c实现一下

 

【如何在vs2015中将编写的代码变成汇编语言】
项目 -> 属性 -> C/C++(这是cpp文件的例子) -> 输出文件->汇编程序输出 ->带源代码的程序集 (/FAs)

 

 

【2018.12.29】operand size conflict(操作数大小冲突)……ax换al。

#include<stdio.h>
void main()
{
	char a = 1;
	__asm {
		mov ax, 0
		mov a, al//ax换al:解决operand size conflict错误
	}
	printf("%d", a);
}

(在vs2010上的win32的编译器貌似不支持eax、qax,vs2017的不支持qax……)

 

在Visual C++使用内联汇编用到的是__asm关键字,这个关键字有两种使用方法:

1.简单__asm块

__asm
{
MOV AL, 2
MOV DX, 0XD007
OUT AL, DX
}

2.在每条汇编指令之前加__asm关键字

__asm MOV AL, 2
__asm MOV DX, 0xD007
__asm OUT AL, DX