ChinaUnix.net
相关文章推荐:

mips 汇编 函数

[code] lui k1, %highest(kernelsp) daddiu k1, %higher(kernelsp)[/code]这2句是啥意思? 主要是 %highest(kernelsp), %higher(kernelsp) 不知道啥意思。 谢谢

by wyyzxml - 内核源码 - 2012-08-27 21:51:25 阅读(1221) 回复(2)

相关讨论

[code] .text_rom:90015290 addiu $sp, -0x10 .text_rom:90015294 sw $fp, 0x10+var_8($sp) .text_rom:90015298 move $fp, $sp .text_rom:9001529C sw $a0, 0x10+arg_0($fp) .text_rom:900152A0 sw $a1, 0x10+arg_4($fp) .text_rom:900152A4 lw $v0, 0x10+arg_0($fp) .text_rom:900152A8 ...

by mjdcl - CPU与编译器 - 2007-08-08 13:13:20 阅读(3030) 回复(1)

    两年前开始接触mips,那时候觉得好多问题不是很理解,当然有些问题至今还是一知半解的。在后来的学习中经常回过头来看之前碰到的那些问题,每次看都会有新的心得,也许这正应了那句古语“温故而知新”。唉,古人很早就明白了这个道理,不禁感慨自己落后了不是一点半点!
   
    下面回顾一下mips中RELOC的这段描述。首次接触RELOC是在vxWorks中的一...

by jyhhappyjyh - 移动操作系统 - 2011-12-20 09:44:14 阅读(1370) 回复(0)

add jmp 等这样的介绍,最最基本的指令,不要过多的介绍,现在看一下反汇编的代码~~请高手支持一下~~

by zbhddt6 - CPU与编译器 - 2010-09-17 12:50:45 阅读(3572) 回复(4)

当前版本: 0.3 1. GCC 内嵌汇编的基本格式 asm("assembly code"); 如: asm("syscall"); //触发一个系统调用 如果有多条指令,则需在指令尾部添加'\t'和'\n',如: asm("li v0, 4011\t\n" "syscall"); 括号里的字符串 GCC 前端不作分析,直接传给汇编器 as ,故而相联指令间需插入换行符。 '\t' 加入只为排版对齐一些而已,可以使用 gcc -S tst.c -o tst.s 查看生成的 tst.s 因为 GCC 并不对 asm 后括...

by ramen.sh - Linux文档专区 - 2008-07-22 14:06:36 阅读(935) 回复(0)

1. GCC 内嵌[color="#ff0000"]汇编的基本格式 asm("assembly code"); 如: asm("syscall"); //触发一个系统调用 如果有多条指令,则需在指令尾部添加'\t'和'\n',如: asm("li v0, 4011\t\n" "syscall"); 括号里的字符串 GCC 前端不作分析,直接传给[color="#ff0000"]汇编器 as ,故而相联指令间需插入换行符。 '\t' 加入只为排版对齐一些而已,可以使用 gcc -S tst.c -o tst.s 查看生成的 tst.s 因为 ...

by hitguy - Linux文档专区 - 2007-12-08 16:15:04 阅读(714) 回复(0)

这个是mips 处理ade异常里的一段汇编 case lh_op: if (!access_ok(VERIFY_READ, addr, 2)) goto sigbus; __asm__ __volatile__ (".set\tnoat\n" #ifdef __BIG_ENDIAN "1:\tlb\t%0, 0(%2)\n" "2:\tlbu\t$1, 1(%2)\n\t" #endif #ifdef __LITTLE_ENDIAN "1:\tlb\t%0, 1(%2)\n" "2:\tlbu\t$1, 0(%2)\n\t" #endif "sll\t%0, 0x8\n\t" "or\t%0, $1\n\t" "li\t%1, 0\n" ------------------------...

by unbutun - 内核源码 - 2012-06-10 21:33:40 阅读(2250) 回复(8)

本帖最后由 wsgtrsys 于 2013-08-18 19:26 编辑 因为需要对内核中的一个函数劫持后,修改其中的一个变量 。 是参考这个篇文章的的做法。 http://jan.stancek.eu/mips_function_runtime_detour 原来曾经在2.6.16的内核上劫持成功,但最近在2.6.35的内核上就不行了。 2.6.35内核的代码部分仿佛是只读的,不能修改原来的函数的机器码。 有两个问题: 1、mips上是不是有类似于x86上的cr0寄存器? 2、如果不是用cr0进行保护,是不是...

by wsgtrsys - 内核源码 - 2013-08-19 11:00:08 阅读(1300) 回复(2)

本帖最后由 1ming0 于 2012-02-07 14:10 编辑 ffffffff80216afc : ffffffff80216afc: 67bdffe0 daddiu sp,sp,-32 ffffffff80216b00: ffb00008 sd s0,8(sp) ffffffff80216b04: 3c10808c lui s0,0x808c ffffffff80216b08: ffb10010 sd s1,16(sp) ffffffff80216b0c: 0080882d move s1,a0 ffffffff80216b10: ffbf0018 sd ra,24(sp) ffffffff80216b14: 0c084d30 jal ffffffff802134c0 ffffffff80...

by 1ming0 - 内核源码 - 2012-02-07 14:08:28 阅读(3350) 回复(13)

我最近在做一个视频解码器,跑在mips上。代码中有一个求绝对值的函数,调用很频繁,我就把他改写成了内敛汇编以提高解码器性能。可是将改后的汇编函数放到程序里发现解出来的图像和修改之前的不一样。先把汇编函数贴出来: int abs(int iNum) { asm volatile ( "nor $2,$0,%1\n\t" "addiu $2,$2,1\n\t" "slti $3,%1,0\n\t" "movz %0,$2,$3\n\t" ...

by RUNONMIPS - CPU与编译器 - 2009-12-04 10:27:55 阅读(2483) 回复(0)

本人刚刚接触mips汇编,编写了一个简单的程序。 程序如下: test.S ================================ .data string: .asciiz "Hello Word!\n" .text __start: li $2, 4 la $4, string syscall li $2, 10 syscall ================================= #mips_lexra_fp_be-as -o testmips.o test.S #mips_lexra_fp_be-ld -o testmips testmips.o #mips_lexra_fp_be-ld: warning: cannot find entry symbol __s...

by vicegod - 内核/嵌入技术 - 2006-11-01 18:12:59 阅读(1594) 回复(2)