AT&T asm之Qt使用
#include <stdio.h>
#include <string.h>
/*
函数名: att_asm_p();
功能:类似于Intel汇编功能:mov ebx, [OSTCBCur]
mov esp, [ebx]
返回值: 无
传入值: 无
*/
void att_asm_p(void)
{
int b = 11;
int d = 599;
int *p = &d;
asm("movl %0, %%ecx \n\t"::"r"(p));
asm("movl (%ecx),%eax \n\t");
asm("movl %%eax,%0 \n\t":"=r"(b));
printf("b: %d\n", b);
}
/*
函数名: att_asm_mov();
功能:类似于Intel汇编功能:mov
说明: "movl %1, %%esi \n\t" //%1对应第二出现的c语言变量(__in1)
"movl %2, %%edi \n\t" //%2对应第三出现的c变量(__in2)
"movl %%edi, %0 \n\t" //%0对应第一出现的C变量(__out)
: "=a"(__out)
: "r" (__in1), "r" (__in2));
返回值: 无
传入值: 无
*/
void att_asm_mov()
{
int __out = 1, __in1 = 2, __in2 = 3;
__asm__ (
"movl %1, %%esi \n\t"
"movl %2, %%edi \n\t"
"movl %%edi, %0 \n\t"
: "=a"(__out)
: "r" (__in1), "r" (__in2));
printf("cr0: %d\n", __out);
}
int main(int argc, char *argv[])
{
att_asm_p();
att_asm_mov();
return 0;
}
AT&T asm之Qt使用的更多相关文章
- Qt webkit插件相关知识
1.在Qt中使用 WebKit 浏览器核心 使用 QtWebKit 需要在工程文件(*.pro)中加入: 1. QT +=webkit 2. QT += n ...
- QT使用UAC(经过验证)
网上有很多manifest的版本,mingw与vs系列也有不同的解决方案,不管那么多,我是使用这篇文章解决这个问题的: So it turns out that I had another bug t ...
- 计算机世界的道(C/ASM)生一(OS),一生二(API),二生万象(MFC/COM)——学包装技术的程序员将来会损失比较大,因为不了解本质,一旦包装过时就会被淘汰
道生一,一生二,二生万象.OO的思想就是抽象,万象归宗,化繁为简.99%的程序员使用OO,或者所谓的类库的目的就是好用,不必了解内部实现就可以直接达到所期望的结果.这时一种生产力的进步,一种流水线式半 ...
- QT: 自定义断言;
使用Qt creator + mingw + gdb进行qt项目开发时,应用Q_ASSERT进行断言总是会出现问题: 断言失败,程序崩溃而不是停止: 采用自定义断言能完美解决该问题(方法取自于国外 ...
- 如何让QT程序以管理员权限运行(UAC)
方案一:(仅适用于使用msvc编译器) 在PRO文件中添加一行指令即可, QMAKE_LFLAGS += /MANIFESTUAC:"level='requireAdministrator' ...
- Qt WebKit 学习的说明
(转自:http://it.100xuexi.com/view/otdetail/20120827/4021c662-b917-44d9-8284-910cac713c23.html) QT Webk ...
- 基于Qt Gui的Led控制显示程序
基于arm + linux的嵌入式软件开发,基本上的内容主要是:u-boot的移植,kernel的裁剪和相关驱动程序的设计,root-fs的制作,应用程序的设计,其中,应用程序主要包含两方面的内容:G ...
- How To: set udev rule for setting the disk permission on ASM disks when using multipath on Linux 6.x
在RHEL6.4上安装11gR2的RAC时,使用了MULTIPATH来聚合绑定多路径的磁盘,并且修改磁盘的权限,赋予grid:asmadmin用户和组. 此时,在安装时可以发现磁盘,日志如下 INFO ...
- 设置qt插件路径
1.在Qt中使用 WebKit 浏览器核心 使用 QtWebKit 需要在工程文件(*.pro)中加入: QT +=webkitQT += network 2.QtWebKit的flash支持 QtW ...
随机推荐
- ListView的LayoutParams设置
// Temp is the root view that was found in the xml final View temp = createViewFromTag(root, name, a ...
- [5] 智能指针boost::shared_ptr
[1]boost::shared_ptr简介 boost::shared_ptr属于boost库,定义在namespace boost中,包含头文件#include<boost/shared_p ...
- bat 自动编译运行
@echo off g++ %1 -Wall -Wextra --std=c++98 -O3 -DNDEBUG -D_NDEBUG -D_GLIBCXX_NO_ASSERT ^ -U_STLP_DEB ...
- draggable datagrid columns
$.extend($.fn.datagrid.methods,{ columnMoving: function(jq){ return jq.each(function(){ var target = ...
- C++开源大全
程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列 ...
- CentOS7 基础配置
Centos 7 部分>>>>>>>>>>>>>>>>>>>>>>& ...
- h-ui前端框架
h-ui.net
- Working with Binary Data in Python
http://www.devdungeon.com/content/working-binary-data-python
- 提取data.frame中的部分数据(不含列标题和行标题)
?unlist Given a list structure x, unlist simplifies it to produce a vector which contains all th ...
- Beaglebone Black – 智能家居控制系统 LAS - 插座组装
上一篇完成了服务端,这次是拼图的最后一块,插座. 插座一个,准备废掉它其中一个插头 预想电路草图 物料清单: 两路插座一个 继电器一个,3.3V 能驱动即可: 交流转直流 3.3V,我买了现成的模块: ...