Ассемблер (movlw)

Модератор: Модераторы разделов

impostor
Сообщения: 103
ОС: Ubuntu 9.04

Ассемблер

Сообщение impostor »

Пытаюсь врубиться в код написанный для микроконтроллера pic.
Есть такие строчки:

Код: Выделить всё

movlw    .5
movwf    SSPADD


Т.е. в регистр W кладется значение, потом это значение копируется в регистр SSPADD.
Все бы хорошо, но что за точка перед пятеркой???
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: Ассемблер

Сообщение Atragor »

Первая ссылка в гугле по слову movlw:
http://tutor.al-williams.com/pic-inst.html
You'll sometimes see numbers written with a period in front of them. This forces a decimal interpretation (for example, MOVLW .10).
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
impostor
Сообщения: 103
ОС: Ubuntu 9.04

Re: Ассемблер

Сообщение impostor »

То что делает команда я понимаю, я не понимаю зачем там точка нужна.... НА том сайте тож ответ не нашел...
Спасибо сказали:
impostor
Сообщения: 103
ОС: Ubuntu 9.04

Re: Ассемблер

Сообщение impostor »

Еще есть такой код

Код: Выделить всё

    movf    cmd_byte,W    ;send COMMAND byte (config)
    movwf    SSPBUF
    ssprw
    btfsc    SSPCON2,ACKSTAT    ;ack?
    bra    $-2

Командой bra выполняется переход по определенному адресу.
Что за адрес "$-2" ??? На какую строку перейдет программа?
Спасибо сказали:
Аватара пользователя
CycaHuH
Сообщения: 85
ОС: FreeBSD; Archlinux; Calculate

Re: Ассемблер

Сообщение CycaHuH »

Видимо на _текущий_адрес_ - 2.
Т.е. все зависит от того сколько занимает инструкция btfsc
Спасибо сказали: