请教一下这几句汇编语言是什么意思?谢谢
_asm{movdx,ABCDEFG//ABCDEFG为一个定值0x40inal,dxCLCJNC$+2movStatus,al}_asm是什么意思?在C++中使用汇编必...
_asm{
mov dx, ABCDEFG //ABCDEFG 为一个定值0x40
in al, dx
CLC
JNC $+2
mov Status,al
}
_asm是什么意思?在C++中使用汇编必须这样写吗?还需要加入头文件之类的吗?C语言中如何使用汇编,一样吗?
这几句汇编语句是什么意思?最好详细写的,谢谢。 展开
mov dx, ABCDEFG //ABCDEFG 为一个定值0x40
in al, dx
CLC
JNC $+2
mov Status,al
}
_asm是什么意思?在C++中使用汇编必须这样写吗?还需要加入头文件之类的吗?C语言中如何使用汇编,一样吗?
这几句汇编语句是什么意思?最好详细写的,谢谢。 展开
1个回答
展开全部
1、C/C++中只能在_asm{}标识符对中嵌入汇编代码。
2、不调用操作系统的函数(如:MessageBox)、库函数(如:strcpy)就不需要加入头文件。
31、mov dx,ABCDEFG表示将一个立即数转移到dx中
32、in al,dx表示从端口[dx]中读取一个字节数据到al中
33、CLC表示清除CF位(进位标志)
34、JNC $+2表示当CF=0才跳转的条件(是没有进位则跳转)
$+2表示从当前指令结束位置向后偏移2个字节地址
$表示当前行被汇编后的地址
$$表示程序节的开始地址
35、mov Status,al表示将al中的内容转移到Status(估计是个寄存器别名)中。
4、整体的意思就是从某个端口中读个数据,强制清除进位标志,跳转到该段尾部位置。
具体业务上为何意思,没有完全猜测出来。
2、不调用操作系统的函数(如:MessageBox)、库函数(如:strcpy)就不需要加入头文件。
31、mov dx,ABCDEFG表示将一个立即数转移到dx中
32、in al,dx表示从端口[dx]中读取一个字节数据到al中
33、CLC表示清除CF位(进位标志)
34、JNC $+2表示当CF=0才跳转的条件(是没有进位则跳转)
$+2表示从当前指令结束位置向后偏移2个字节地址
$表示当前行被汇编后的地址
$$表示程序节的开始地址
35、mov Status,al表示将al中的内容转移到Status(估计是个寄存器别名)中。
4、整体的意思就是从某个端口中读个数据,强制清除进位标志,跳转到该段尾部位置。
具体业务上为何意思,没有完全猜测出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询