自己レス。
8086は実際にシフト、ローテートを行う。
80186以降は最大31で下位5ビットのみ有効(32回は0回になる)。
その為、同じコードであっても実行結果が異なる場合がある。
mov al,01h
mov cl,20h
shr al,cl ;al=0(8086)/al=1(80186)