Я ничего не знаю о ollydbg; надеюсь, кто-то, кто знаком с ним, также опубликует ответ.
Ваше понимание того, что вы указали нам, будет в основном верным: оно перемещает содержимое BL (которое является нижним 8-битами EBX,) на адрес в сегменте стека, на который указывает [EBP минус 1]. Если EBP 0012FDCCh, то байт будет сохранен в 0012FDCBh.
Обычно мы не говорим, что 0012FDCBh указывает в любом месте, мы просто говорим, что это ячейка памяти, которая в этом случае содержит байт, хотя технически было бы правильнее сказать, что это адрес памяти и, следовательно, в некотором смысле число «указывает» на байт. Но мы предпочитаем думать о указателях или регистрах, указывающих на память, а не на чистые числа.
Я понятия не имею, почему ollydbg не показывает 0012FDCBh. Вы уверены, что это не показывает? Возможно, это показывает 0012FDCCh и 0012FDC8h? Если это так, то это просто показывает стек памяти, сгруппированных в DWORD, поэтому 0012FDCBh не отображается, потому что соответствует одному из четырех байтов, которые живут в DWORD в 0012FDC8h. Посмотрите на значение DWORD, хранящееся в 0012FDC8h, одноступенчатое над инструкцией MOV, и вы увидите, что наиболее значимый байт этого слова изменяется на значение BL. (Если значение в этом адресе отличалось от значения BL.) Ollydbg также может отображать память, сгруппированную в строки длиннее, чем один DWORD, но тот же принцип применяется.
andmart, увидев скриншот, похоже, что то, что происходит, именно то, что я догадался. ollydbg показывает содержимое стека в DWORDS. Итак, посмотрите на самый старший байт DWORD в 0012FDC8h, там будет храниться BL. –