Цитата(Dron_Gus @ Feb 25 2005, 14:55)
Про А и АСС вроде понял. Только еще один вопрос возник после прочтения ПДФа. Адреса 80h-FFh занимают SFR (direct addressing) и Inderect memory. Push ACC это direct addressing или я опять что-то не понимаю?
PUSH - это индексная адресация

Вторым параметром идет адрес ячейки от 0 до 0xFF, содержимое которой и будет помещено в стек. Так, для PUSH ACC в стек будет помещаться содержимое ячейки с адресом E0, т.е. текущее содержимое аккумулятора. Точно так же вы можете написать PUSH 0xE0 и это будет то же самое что и PUSH ACC.
P.S. Сейчас только заметил очепятку в пояснении в своем предыдущем сообщении - поменяйте там местами ACC и A, а то действительно непонятно получилось.
Цитата(Dron_Gus @ Feb 25 2005, 14:55)
А вот со стеком и банками регистров не получается.

Не IDATA, не просто DATA не помагают. Пытался все остальные сегменты двигать, смещать... Ничего не помагает. Может какие настройки надо проставить?
Должно работать. Вот вам пример стека в IDATA с фиксированным расположением:
Код
ISEG AT 0xA0
?STACK: DS 0x20
или если хотите чтобы линкер его сам расположил:
Код
?STACK SEGMENT IDATA
RSEG ?STACK
DS 0x20