二、程式要条理通顺
1,在比较判断的过程中,邻近值不必连比。 CMPAL,0 JEABCD0 CMPAL,1 JEABCD1 CMPAL,2 JEABCD2 .. 应为: CMPAL,1 JNEABCD0 ABCD1: .. 在标题为ABCD0中,再作: JAABCD2 这种做法端视时间效益而定,似此ABCD1之速度最快。
2,未经慎思的流程: ADDAX,4 ABCD: STOSW ADDAX,4 ADDDI,2 LOOPABCD .. 稍稍动点脑筋,就好得多了: ABCD: ADDAX,4 STOSW INCDI INCDI LOOPABCD ..
3,错误的处理方式: MOVBX,SI ABCD: MOVBX,[BX] ORBX,BX JZABCD1 MOVSI,BX JMPABCD ABCD1: LODSW .. 上例应该写成: MOVBX,SI ABCD: LODSW ORAX,AX JZABCD1 MOVSI,BX JMPABCD ABCD1: ..
4,错误的流程: TESTAL,20H JNZABCD CALLCDEF[BX] JMPSHORTABCD1 ABCD: CALLCDEF[BX 2] ABCD1: .. 应该写成: TESTAL,20H JZABCD INCBX INCBX ABCD: CALLCDEF[BX] ABCD1: ..
5,下面是时间的损失: PUSHDI MOVCX,BX REPSTOSB POPDI PUSH,POP很费时间,应为: MOVCX,BX REPSTOSB SUBDI,BX 同理,很多时候稍稍想一下,就可省下一些指令: PUSHCX REPMOVSB POPCX SUBDX,CX 为什么不干脆些? SUBDX,CX REPMOVSB
[1][2][3][4]下一页
|