Реализация шины SMBus на базе микроконтроллера MSP430

 

       
; флаг ошибкиеггог flag младшая область памяти
    low mem  
; счётчик байт byte count  
; указатель блока block pointer  
; команда command    
; адрес address старшая область памяти
    high mem  
; Пример использования    

 
 


PUSH #00h
PUSH #00Bh
PUSH #0020h
PUSH #00550h
PUSH #00h
CALL #blkw
POP R1C
ADD #06h,SP
POP R9
CMP #00h, R9
JZ error

место для кода ошибки поместить адрес в стек код команды "темпера­тура батареи" указатель на начало блока

зарезервировать байт под счётчик

переместить данные в R10

читать из стека код ошибки

ошибочное завершение -вызов обработчика ошибок


blkw

PUSH SR

PUSH R7

PUSH R8

PUSH R9

PUSH R14

PUSH R15

PUSH R1C

PUSH Rll

PUSH R12

PUSH R13

MOV.В 26(SP), R8 ; параметр команды

MOV.В 28(SP), R7 ; параметр адреса

MOV 24(SP), R9 ; стартовый адрес блока