User Tag List

Показано с 1 по 10 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    devpac на амиге: локальные метки == .metka, ограничены обычными. Ещё удобнее, чем цифры only - так как можно и .1 .2 .3 писать, так и .label .metka
    В SjASM тоже есть локальные метки. Только, что цифры как локальные метки теперь не поддерживаются - определяются как директива повтора строки (как в Шторм)
    Цитата Сообщение от elf/2
    так может довести это похожее до ума? имхо цифры менее удобны в качестве мнемонических обозначений...
    кроме того остальные плюсы цифровые метки не покрывают
    Реализаций данной функции ассемблеров может быть много, например вот как это сделано в WLA DX:
    Код:
    3.3. Labels
    
    Labels are ordinary strings (which can also end to a ':'). Labels starting
    with "_" are considered to be local labels and do not show outside sections
    where they were defined, or outside object files, if they were not defined
    inside a section.
    
    Here are few examples of different labels:
    
    VBI_IRQ:
    VBI_IRQ2
    _VBI_LOOP:
    main:
    
    Note that when you place ':' in front of the label string when referring to
    it, you'll get the bank number of the label, instead of the label's address.
    Here's an example:
    
    LD A, :LOOP
    .BANK 2 SLOT 0
    LOOP:
    
    Here "LD A, :LOOP" will be replaced with "LD A, 2" as the label LOOP is
    inside the bank number two.
    
    When you are referring to a label and you are adding something to its address
    (or subtracting, any arithmetics apply) the result will always be bytes.
    
    .org 20
    DATA:  .dw 100, 200, 300
           ld  a, DATA+1
                  ^^^^^^ = r
    
    So here the result r will be the address of DATA plus one, here 21. Some x86
    assemblers would give here 22 as the result r as DATA points to an array
    or machine words, but WLA isn't that smart (and some people including me
    think this is the better solution).
    
    You can also use -, --, ---, +, ++, +++, ... as un-named labels.
    Labels consisting of '-' are meant for reverse jumps and labels consisting
    of '+' are meant for forward jumps. You can reuse un-named labels as much
    as you wish inside your source code. Here's an example of this:
    
        dec e
        beq ++      ; jump -> ?
        dec e
        beq +       ; jump -> %
        ld d, 14
    --- ld a, 10    ; !
    --  ld b, c     ; #
    -   dec b       ; *
        jp nz, -    ; jump -> *
        dec c
        jp nz, --   ; jump -> #
        dec d
        jp nz, ---  ; jump -> !
        ld a, 20
    -   dec a       ; $
        jp nz, -    ; jump -> $
    +   halt        ; %
    ++  nop         ; ?
    
    Note that "__" (that's two underline characters) serves also as a un-named
    label. You can refer to this label from both directions. Use "_b" when
    you are jumping backwards and "_f" when you are jumping forwards label "__".
    
    Example:
    
       dec e
       jp z, _f     ; jump -> *
       dec e
    __ ldi a, (hl)  ; *
       dec e
       jp nz, _b    ; jump -> *
    Последний раз редактировалось Aprisobal; 23.12.2005 в 01:40.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •