Цитата(AHTOXA @ Aug 20 2008, 22:45)

А что это за регистр такой?
Регистр AUXR в нем настраивается размер памяти XRAM 256 512 768 1024 или 1792.
Сегодня с утра посмотрел на код и сразу дошло, что на дисплее информация int а 0х10 это hex, еще в этом регистре есть бит который зарезервирован и читается как 1; поэтому записываю 0х10 а получается 0х50. Но проблема еще не решена, просто я не там искал.
Проблема вот какая: если размер XRAM превышает 256,байт , то программа зависает. На самом деле
должна работать до 1792. отрывок из документации в зипе.
makefile
Код
CC=sdcc
AS=asx8051
LINKFLAGS=--model-large --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700
all: main.hex
main.rel: main.c
$(CC) $(LINKFLAGS) -c main.c
crtstart.rel: crtstart.asm
$(AS) -plosgff crtstart.asm
main.hex: main.rel crtstart.rel
$(CC) $(LINKFLAGS) main.rel crtstart.rel
packihx <main.ihx>main.hex
clean:
@del *.hex *.ihx *.lnk *.mem *.rel *.rst *.sym *.lst *.map
main.mem
Код
Internal RAM layout:
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x00:|0|0|0|0|0|0|0|0|a|b|b|b|b|b|b|Q|
0x10:|Q|Q| | | | | | | | | | | | | | |
0x20:|B|B|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x30:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x40:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x50:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x60:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x70:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x80:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0x90:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xa0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xb0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xc0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xd0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xe0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0xf0:|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|S|
0-3:Reg Banks, T:Bit regs, a-z:Data, B:Bits, Q:Overlay, I:iData, S:Stack, A:Absolute
Stack starts at: 0x22 (sp set to 0x21) with 222 bytes available.
Other memory:
Name Start End Size Max
---------------- -------- -------- -------- --------
PAGED EXT. RAM 0 256
EXTERNAL RAM 0x0000 0x0151 338 1792
ROM/EPROM/FLASH 0x0000 0x1dd6 7639 65535