Инлайн асм видит явные адреса, но не видит собака как в хидерах объявлены порты как структуры __io _SFR_B( PORTB, всякая туита). И вот когда мы помянули регистр, то он появился( я его в листинге пропас) как явный его адрес. Но адрес SRAM, а нам надо адрес регистров IO. А они отличаются на 32. И вот вычитаем 0х20 и инлайн его видит как порт в просранстве IO.