mov DPTR, VarC 3 байта,24 такта
movxA, @DPTR
mov Temp, A
mov DPTR, VarB
movxA, @ DPTR
1 байт,24 такта - Загрузка "С" 1 байт, 12 тактов - Сохранение "С" 3 байта,24 такта 1 байт,24 такта - Загрузка "В"
add A, Temp ; 1 байт, 12 тактов - Асе = В + С
mov DPTR, VarA ; 3 байта,24 такта
movx @DPTR, A ; 1 байт,24 такта - Сохранение В + С в "VarA"
В последнем случае требуется более чем в три раза больше памяти и более чем в четыре раза больше тактов для выполнения программы по сравнению с наилучшим случаем, когда все три переменные находятся в текущем банке.
В снязи с такой разницей в производительности разработчик компилятора должен обратить особое внимание на разработку стратегии для манипуляции данными. Сокращение пересылок данных между текущим банком, первыми 256 байтами и всеми 64 Кбайтами памяти позволяет сделать конечный вариант программы более эффективным.