PDA

Показать полную графическую версию : Программа на PIC Assembler


DaRiYs
20-09-2009, 03:34
Помогите написать программу на PIC Assembler`е для вычитания 32разрядных чисел. Вот есть пример для их сложения(чисел):

RAB0 EQU 15
RAB1 EQU 25
SUM EQU 35
STATUS EQU 03
C EQU 01

MOVLW 0X00
MOVWF RAB0
MOVWF RAB0-1
MOVWF RAB0-2
MOVWF RAB0-3
MOVWF RAB1
MOVWF RAB1-1
MOVWF RAB1-2
MOVWF RAB1-3
MOVWF SUM
MOVWF SUM-1
MOVWF SUM-2
MOVWF SUM-3
MOVWF SUM-4
MOVLW 0XAC
MOVWF RAB0
MOVLW 0xFF
MOVWF RAB0-1
MOVLW 0X03
MOVWF RAB0-2
MOVLW 0XFF
MOVWF RAB0-3
MOVLW 0XFF
MOVWF RAB1
MOVLW 0X1A
MOVWF RAB1-1
MOVLW 0XFF
MOVWF RAB1-2
MOVLW 0X33
MOVWF RAB1-3

MOVF RAB0,W
ADDWF RAB1,W
BTFSC STATUS,C
INCF SUM-1,F
MOVWF SUM
MOVF RAB0-1,W
ADDWF RAB1-1,W
BTFSC STATUS,C
INCF SUM-2,F
ADDWF SUM-1,F
BTFSC STATUS,C
INCF SUM-2,F
MOVF RAB0-2,W
ADDWF RAB1-2,W
BTFSC STATUS,C
INCF SUM-3,F
ADDWF SUM-2,F
BTFSC STATUS,C
INCF SUM-3,F
MOVF RAB0-3,W
ADDWF RAB1-3,W
BTFSC STATUS,C
INCF SUM-4,F
ADDWF SUM-3,F
BTFSC STATUS,C
INCF SUM-4,F
NOP
END

lxa85
20-09-2009, 08:23
DaRiYs, можно комментарии расставить, для людей знакомых с ассемблером, но незнакомых с PIC Assembler'ом ?
а так же ссылки на справочный материал (систему команд, разрядность процессора, размер и нумерацию регистров и т.д.)

DaRiYs
20-09-2009, 13:00
Вот система команд и документация, правда описание команд на украинском :lol: а доки на английском. Процесор 8ми разрядный, 1 регистр равен 1му байту=8бит, всех регистров 1024 с 1го по 16й регистр-служебные. Процессор может работать токо с одним регистром и одним служебным W. Тоесть ели нада переместить значение из одного регистра в другой то сначала пишется из первого регистра в W, а потом оттуда во второй регистр.




© OSzone.net 2001-2012