前面幾個用過匯編16位查表嗎?
R2和R3是分別放了一個16位數(shù)據(jù)的高位和低位,左移一位是為了要乘以2,先清除C標志位,等到低位的R3位移的時候,R3的7位(就是最高位)就會變成C位,之前的清除的C位就變成了R3的0位,再R2帶進位位移的時候,C就變成了R2的0了,這樣就可以達到一個乘以2的作用
至于為什么要乘以2,因為TAB2:DW 這個表是以兩個字節(jié)來存放的,因為是占用了兩個字節(jié)的,乘以2之后,再把這個結(jié)果當成表的偏移量來查表,才能得到正確的值 |