реклама на сайте
подробности

 
 
> Определение сегментов в KEIL, для ламмера
Dron_Gus
сообщение Feb 25 2005, 16:43
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Ткните носом, что неправильно...

Код
;-------BANK segment
    DSEG AT 00h
RegBnks SEGMENT DATA
    RSEG RegBnks
    org 08h;Bank 1
    DS 2;R0, R1 in bank 1 using for internal
LCD_X:    DS 1;X=R2 in bank 1
LCD_Y:  DS 1;Y=R3 in bank 1
LCD_BS: DS 1;Begining string of LCD

;-------BIT segment
       BSEG AT 20h
BitSeg  SEGMENT BIT
    RSEG BitSeg
LCD_BW:    DBIT 1;0 => White background 1 => Black
LCD_NS: DBIT 1;New string after write
LCD_RC: DBIT 1 ;Return of carriage
LCD_SX: DBIT 1 ;Save X
LCD_SY: DBIT 1 ;Save Y
LCD_M:    DBIT 1 ;1 string in CODE memory, 0 in XRAM

;-------BYTE area
    
    
    
;-------STACK - highest 20h of internal RAM, STACK grows UP
    BSEG AT 60h
STACK    SEGMENT    DATA
    RSEG  STACK
    DS    20H


    USING    0
    CSEG  AT   0
MAIN    SEGMENT    CODE
    RSEG  MAIN
;-------Int Vectors
    ORG 0000h
    ljmp START;start vector
    ORG 006Bh
    ljmp USB_INT;usb interrupt



    ORG 0100h
;-------START
START:    mov SP,#STACK-1


В дебагере вместо

Код
START:    mov SP,#STACK-1

Это
Код
C:0x0100    758120   MOV      SP(0x81),#0x20


Тоже самое с регистрами из 1 го банка. Т.е. если делаем mov LCD_X,#0h а потом переходим к первому банку, в R2 вовсе не 0.

Соостветственно я запутался. Из справки по директивам почти ничего не понял. Т.е. мне кажется после BSEG AT 60h сегмент будет по смещению 60h, но почему-то это не так.

И еще. Почему компилятор придирается к push A, а к push ACC нет?


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th August 2025 - 02:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016