C中使用汇编交换两个值

简介: C中使用汇编交换两个值

使用宏定义虽然也可以,总是觉得不方便。吾一直想,最好提供一个交换指令,然后直接定义一个函数供调用。


以下代码没有经过测试,请自行验证。

WINDOWS
int x=1, y=200;
_asm
{
    push x;
    push y;
    pop  x;
    pop  y;
}
printf("x=%d, y=%d\n", x, y);

LINUX

int x=1, y=200;
asm(
    "push x\n\t"
    "push y\n\t"
    "pop  x\n\t"
    "pop  y\n\t"
);
printf("x=%d, y=%d\n", x, y);
目录
相关文章
汇编语言基础教程-指令:传送,交换,取地址
1.mov 如: mov eax,20   ;把立即数20送入通用寄存器 mov edi,esi    ;寄存器之间传递数据 mov dVar,20    ;把20送入内存操作数(变量) mov WORD PTR [EBX],20   ;传送字到EBX指向的地址 mov [ebx],DW...
1088 0
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
740 2
|
存储 机器学习/深度学习 移动开发
汇编语言指令系列
汇编语言指令系列
2501 0
|
11月前
|
存储 移动开发 C语言
【ARM汇编速成】零基础入门汇编语言之指令集(三)
【ARM汇编速成】零基础入门汇编语言之指令集(三)
260 0
|
11月前
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
943 0
|
12月前
几组汇编指令的比较
几组汇编指令的比较
|
存储 机器学习/深度学习 芯片
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
8086 汇编笔记(十二):int 指令 & 端口 & 直接定址表
|
存储 算法 安全
深入理解汇编语言:基础语法和常用指令介绍
深入理解汇编语言:基础语法和常用指令介绍
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
206 1
|
安全 编译器
8086 汇编笔记(四):[BX] 和 loop 指令
8086 汇编笔记(四):[BX] 和 loop 指令