Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 15:17   #1
Arhit
 
Регистрация: 21.01.2012
Сообщений: 4
Вопрос Разбор кода

Имеется готовый код, который необходимо разобрать от и до. Имеется ввиду, что для чего нужно, какие команды посылают операторы и прочее. Я в этом практически полный дуб.

Он вставляется в прогу Multisim, чтобы работала схема с микроконтроллером.

В общем помогите его подробно разобрать. Заранее благодарен.
Изображения
Тип файла: jpg Код.jpg (36.4 Кб, 65 просмотров)
Тип файла: jpg Схема.JPG (84.2 Кб, 90 просмотров)
Arhit вне форума Ответить с цитированием
Старый 22.01.2012, 15:27   #2
Arhit
 
Регистрация: 21.01.2012
Сообщений: 4
По умолчанию

Очень нужно, если кто разбирается, помогите.
Arhit вне форума Ответить с цитированием
Старый 22.01.2012, 16:11   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

i equ 0x0C - инициализария регистра i
nop - пустой оператор, ничего не делает
BSF STATUS,RP0 - выбор первого банка памяти для обращения к TRISB
movlw b'00000000' - загрузили в регистр W (аккумулятор) значение 00000000 в двоичной системе
movwf TRISB - отправили значение W в TRISB, установив тем самым все разряды порта B на выходы
BCF STATUS,RP0 - возвращаемся в банк памяти 0
clrf PORTB - очистили PORTB
START movlw 3 - работать не будет, так как метка и оператор movlw в одной строке. Плюс нельзя писать "movlw 3", так как непонятно, что такое 3. Нужно d'3'(десятичное), o'3'(восьмиричное) или h'3'(шестнадцатеричное)
bcf PORTB,0 - обнуляет нулевой бит в порте б
decfsz i,f -"Уменьшение значения регистра i, пропуск следующей инструк-ции если результат равен нулю", нах тут f - непонятно, должен быть 0 (результат сохранить в w) или 1 (сохранить результат в i)

Остальное по аналогии. Кстати, код, по-моему, вовсе не готовый, нет даже секции заголовка
Код:
 ORG 0
 GOTO BEGIN
 ORG 100h
BEGIN
;то, что нужно делать
END
Все тривиальное просто

Последний раз редактировалось whatever; 22.01.2012 в 20:01.
whatever вне форума Ответить с цитированием
Старый 22.01.2012, 16:34   #4
Arhit
 
Регистрация: 21.01.2012
Сообщений: 4
Радость

Спасибо, это уже что-то. По поводу готовности кода: какой дали, таким я и пользуюсь. Вроде сказали, что готовый, хотя в самом Мультисиме он то работает (с ошибками), то не работает и вовсе.

PS На весы тыкну
Arhit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор кода Delphi cv0l04b Помощь студентам 3 07.01.2012 13:39
С++ Разбор кода хэширования Md5 Чёрный ветер Помощь студентам 1 20.12.2011 00:38
Разбор куска кода. Alexcomeback Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 05.04.2011 18:14
Разбор кода. С++ TIT0 Помощь студентам 0 27.12.2010 11:17
-=Разбор кода (С++ и Ассемблерная вставка)=- MeTeOpA Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 26.12.2010 16:46