举报
以下是引用LindiX在2005-8-28 19:18:00的发言:[BR]所谓极速内核实际上只是表面极速,系统没有任何优化,文件分配表还是一样的乱。 WQX原内核里有检测僵尸文件的程序,而“所谓极速”的原理就是将WQX原内核里检测僵尸文件的部分去除。
13532_35128_5568.rar
2005-9-1 19:12 上传
点击文件名下载附件
3 KB, 下载次数: 573
13532_35128_5571.rar
3 KB, 下载次数: 565
13532_35128_5572.rar
4 KB, 下载次数: 564
13532_35128_5575.rar
4 KB, 下载次数: 581
13532_35128_5579.rar
5 KB, 下载次数: 599
13532_35128_5585.rar
6 KB, 下载次数: 604
13532_35128_5594.rar
7 KB, 下载次数: 545
[汇编]极速内核提速原理 QIQI 改写了brk $0519(find_inode)中断函数。这个函数用于在整个分配表(大小为34K)中搜索指定文件号的分配表信息 在打开文件、修改文件、列出文件等方面被大量使用,可是原函数效率极为低下 原函数: brk $0519 长度:292B 搜索整个分配表使用时间:约80ms 占用ram: 除出参和入参外 使用6个零页变量 2048B的缓冲($C000-$C800)和数个在$cc00-$cd00间的临时变量 QIQI重写: 将函数移到brk $060d 现函数:brk $060d 长度:126B 搜索整个分配表时间:约2ms (效率!) 占用ram:除出参和入参外 4个零页变量 无缓冲 改写后的函数: ;其实这个函数还真没什么技术含量,特简单,可是ggv...哈! ldx #0 lp1:lda find_loc,x sta NGFFS_BUFFER,x inx cpx #7e bne lp1 ;将跨bank搜索代码复制到bus flash跨页读写的公用buffer jmp NGFFS_BUFFER ;$0972 find_loc: lda io_switch_bank ;$00 pha lda #0 sta nor_block_ptr ;$db next_block:ldx nor_block_ptr lda inodebank,x ;$088b sta io_switch_bank tax asl txa lda inodeaddr,x ;$089c sta norbufptr ;$e1 lda inodeaddr+1,x sta norbufptr+1 lda #0 sta inode_ptr ;$dc if_not_finish:ldy #$1e lda (norbufptr),y cmp #$aa bne not_empty iny lda (norbufptr),y cmp #$aa bne not_empty go_next_block:inc nor_block_ptr ;如果该inode偏移1eH为AAAA说明该块以下为空,继续下一块 lda nor_block_ptr cmp #17 ;若块数大于17,搜索结束 bcs end_fail jmp next_block not_empty:ldy #0 lda (norbufptr),y cmp inodenum ;$093f bne next_inode iny lda (norbufptr),y cmp inodenum+1 bne next_inode ;比较是否是要搜索的inode序号 ldy #04 lda (norbufptr),y and #$e0 cmp filestate ;检查是否为要搜索的状态 bne next_inode lda nor_block_ptr sta inodeslot ;$093d lda inode_ptr sta inodeslot+1 ;全部符合则把所在block和inode位置保存到出参 clc pla sta io_switch_bank rts next_inode: lda norbufptr clc adc #$20 ;inode每个长度#$20 sta norbufptr bcc pj1 inc norbufptr+1 pj1:inc inode_ptr lda inode_ptr cmp #$40 ;每个block有40h个inode bne if_not_finish jmp go_next_block ;40h个inode比较完后转到下个block end_fail: sec pla sta io_switch rts
其实这个函数还真没什么技术含量,特简单,可是ggv...哈! 看到这句注释了吧! 看看我是什么态度!再看看你自己!
本版积分规则 发表回复 回帖后跳转到最后一页
Archiver|手机版|小黑屋|EMAX Studio
GMT+8, 2025-6-16 00:17 , Processed in 0.017711 second(s), 21 queries .
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.