User Tag List

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

Тема: Разбираюсь с ассемблером К1801ВМ1

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #2
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    по идее так
    вызов этой подрограммы должен выглядеть как-то так
    Код:
       jsr  pc,_COPY
       dw _FROM
       dw _TO 
       dw _SIZE (в словах?)
    next_cmd:
    кратнокое описание
    сохранили регистры,
    вытянули параметры,
    переместили адрес возврата в правильное место
    скопировали
    восстановили регистры
    выход

    весь смысл в строчках
    [code]
    016 332: MOV (R1)+,(R2)+
    016 334: SOB R3,016 332 ; R3 = R3-1; если R3 не равно 0, то перейти к 016 332
    [code]

    а коментарий не верный,
    не " ; R2 = R1, R1 = R1+2, R2 = R2+2;"
    это взять слово по адресу на который указывает R1, поместить его по адресу на который указывает R2
    после чтения/записи увеличиваем значение регистров на 2 (по словам).

    собственно т.к. C писался как "супер макро для DEC"
    то в сишной нотации это
    *(R2++)=*(R1++)


    в вашем роме это так
    Код:
    RAM:001016 ; ---------------------------------------------------------------------------
    RAM:001020 word_1020:      .word 12                ; DATA XREF: sub_1030+4o
    RAM:001022                 .word 15
    RAM:001024                 .word 0
    RAM:001026                 .word 40
    RAM:001030
    RAM:001030 ; =============== S U B R O U T I N E =======================================
    RAM:001030
    RAM:001030
    RAM:001030 sub_1030:                               ; CODE XREF: RAM:loc_444P
    RAM:001030                                         ; RAM:000466P
    RAM:001030                 call    @#_COPY         ; DW _From,_TO,_Size
    RAM:001030 ; ---------------------------------------------------------------------------
    RAM:001034                 .word word_1020
    RAM:001036                 .word word_114740
    RAM:001040                 .word 4
    RAM:001042 ; ---------------------------------------------------------------------------
    RAM:001042                 mov     #-63012, R3
    RAM:001046                 clr     -(R3)

    p.s. давненько с PDP11 асм не возился, все больше с Intel
    но вроде порядок операндов не напутал
    Последний раз редактировалось esl; 12.11.2013 в 12:23.

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

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

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

Похожие темы

  1. К1801ВМ1 vs К1801ВМ1Г, для БК0010/11
    от Alex_Vac в разделе БК-0010/0011
    Ответов: 24
    Последнее: 24.12.2014, 22:08
  2. Помогите новичку с ассемблером!
    от Ares в разделе Программирование
    Ответов: 139
    Последнее: 08.05.2014, 16:28
  3. {Украина} Куплю микросхемы к1801ВП1-037,К1801ВП1-014,К1801ВМ1
    от palsw в разделе Барахолка (архив)
    Ответов: 29
    Последнее: 05.06.2012, 14:23
  4. Ответов: 15
    Последнее: 22.12.2011, 12:01
  5. Помогите разобраться с ассемблером
    от casperzx в разделе Программирование
    Ответов: 7
    Последнее: 07.09.2010, 22:27

Ваши права

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