OSUnMapTb1[]共0xff个元素,0x00~0xff为索引,OSUnMap1[]里的值由分析索引得到(索引转换为二进制,从右边数,首先为1的位数即索引元素的值)
如0x50,二进制为0x1010000,从右边数,第四位首先为一,则OSUnMapTb1[0x50]=4
从右数起的原因:
优先级数:优先级值越小,优先级越高
从右至左,从上至下越来越低
y=OSUnMapTb1[OSRdyGrp] (找优先级最高的组)
x=OSUnMapTb1[OSRdyTb1[y]] (组里找最右的)
prio = (y<<b) + x