ChinaUnix.net
相关文章推荐:

gun arm 汇编语法

gun汇编的保留字 gun汇编的保留字不是很多书会提到的, 查找起来很不方便, 我自己整理了一下. 希望对以后有用.  .ascii “” 把string当成数据插入汇编中,和armasm的DCB类似. .ascix “” 类似 .ascii , 但在每个字符串后面跟一个零字节. .balign {, {, } } 对齐地址到字节. 汇编器通过添加字节或者默认值来对齐, 如果需要填充的字节...

by acc98596 - 内核/嵌入技术 - 2007-01-05 11:58:58 阅读(1435) 回复(5)

相关讨论

.globl _start _start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq ldr pc, _fiq _TEXT_BASE: .word TEXT_BASE .globl _armboot_start _armboot_start: .word _start .globl _bss_start _bss_start: .word __bss_start .globl _bss_end _bss_end: .word _end adr r0, _start /* r0 <- current position o...

by luo_hao - 内核/嵌入技术 - 2006-07-27 22:17:18 阅读(1098) 回复(1)

有两个arm asm文件,属于gnu asm语法,后缀为.S .加入project以后,可能被认为是intel 汇编,编译出错。 我看编译Rules里的编译器为Nasm,是不是应该改这个地方呢?还是别的方法?

by imbigapple - Mac OS X - 2009-01-12 19:56:37 阅读(8492) 回复(4)

int checksum_v1(int *data) { char i; //2nd time, "int" replaces "char" int sum = 0; for(i = 0; i < 64; i++) sum += data; return sum; } 上面这段代码,用arm-linux-gcc -S checksum_v1.c 反汇编一次; 然后讲int 代替char,再反汇编一次,将所得的两个文件比较了一下 1st: str r3, [fp, #-20] .L2: ldr r3, [fp, #-20] cmp r3, #63 ble .L5 b .L3 .L5: ldr r3, [fp, #-20] mov r2, r3, asl #2 ldr r3, [f...

by hangtoo - C/C++ - 2006-04-21 10:53:37 阅读(974) 回复(0)

#define set_domain(x) \ do { \ __asm__ __volatile__( \ "mcr p15, 0, %0, c3, c0 @ set domain" \ : : "r" (x)); \ @能猜出来这部分代码的功能,但是有什么资料可以查到这中写法的规则吗?谢谢 } while (0)

by rocky1972 - C/C++ - 2008-04-27 14:35:40 阅读(2632) 回复(5)

C代码: //foo.c void foo(int m, int n) { printf("m=%d, n=%d\n", m, n); } int main() { int b = 3; foo(b+=3, ++b); printf("b=%d\n", b); return 0; } 上面c代码对应的汇编代码: arm-linux-objdump foo.o temp.o: file format elf32-littlearm Disassembly of section .text: 00000000 : 0: e1a0c00d mov ip, sp 4: e92dd800 stmdb sp!, {fp, ip, lr, pc} 8: e24cb004 sub fp...

by rocky1972 - C/C++ - 2008-04-09 20:35:20 阅读(4079) 回复(9)

现在看的书上只是介绍了汇编的命令,并没有什么实例。现在写一个arm汇编根本格式都不正确。 还有我怎么样查看我汇编执行步骤是否正确,有像printf这样的调试语句么? 请大家帮帮忙。指条明路

by piaoyizu - C/C++ - 2007-10-25 19:37:54 阅读(3238) 回复(10)

刚接触汇编 问个低级的问题 GNU arm 汇编为什么和arm 标准汇编格式不一样?兼容arm标准汇编不是就能直接编译了吗? 定义自己的格式有什么必要吗?

by wang9736 - C/C++ - 2008-05-19 15:18:00 阅读(3839) 回复(7)

最近要在arm4510做东西,从网上下载了4510bsp,其中init.s等文件是arm格式的汇编,但是我要在GCC的环境下对它进行汇编(我们的开发环境是GCC,而不是arm提供的开发环境),所以要将它改成at&t格式。 但是苦于相关资料甚少,从书店买了本书也不是很详细,故特来咨询一下。 Reset_Handler ;Reset Entry Point [ ROM_AT_ADDRESS_ZERO | LDR r0, =HandleSwi ; SWI exception table address LDR r1, =SystemSwiHandler STR r1, [r0] s...

by lazycat_2005 - 内核/嵌入技术 - 2006-06-29 11:40:02 阅读(1328) 回复(2)

一个很简单的C程序,发现两种情况下用arm汇编后在栈中存放方式不同,第一种有printtf,数值1 ,2, 3 在栈中按高->低排列,第二种没有printf,数值1,2,3却顺序相反,究竟为何? 1.c 程序 #include int main() { int i = 1, j = 2, k = 3; int m; m = i * j; printf("%d, %d, %d", &i, &j, &k); return 0; } 用arm汇编后主要部分如下,可看到 1 存高位 ,向下为数值 2 ,3 main: @ ar...

by vkstar - C/C++ - 2009-05-26 23:47:14 阅读(1037) 回复(0)

#define SUCESS 0 SUCESS .EQU 0 编译环境为arm-elf-gcc 上面这两种方法都试过了,不知道为啥都不行。 [ 本帖最后由 rocky1972 于 2008-12-23 14:39 编辑 ]

by rocky1972 - C/C++ - 2008-12-23 15:05:27 阅读(2570) 回复(6)