呵呵LZ提出的兩個運算可以這樣理解。
第一個運算是4個8位數的加法。每兩個8位數相加,結果都有可能產生進位而溢出。如FF+FF=1FE。所以才有兩個8位數相加的結果是12位數。最後的加0是為了記錄進位標誌。
第二個問題是除2運算了。除2運算採用的是右移運算。我們將12bit數當作一個整體看。低4bit右移產生的CY其實就是12位數據的bit0位,而中間4bit右移產生的CY其實是bit4(相當於10h除2等於8一樣),高4位右移產生的CY是bit8(相當於100h除2等於80h一樣).所以每次的右移中低位的CY可以忽略,而中4bit和高4bit的CY是一定要保存結果的。 |
|