Preguntas sobre programación de MCU

Estudia lo mismo, 0

addar TmpL, 1

btrsc status, C_FLAG

inc TmpH, 0 pon el bit alto; del valor Coloque B y el bit bajo en A

movar B

movr TmpL, 0

2, C_FLAG, Z_FLAG

goto ADD_loop

movr TmpH, 2

btrsc status, C_FLAG

inc TmpH, 1

movar TmpL

movr TmpH: (Adición)

clrr TmpL ; Borrar registro temporal

clrr TmpH

movar TmpL ; Poner valor inicial

movia 3 ;Ingrese el número de conteo (4-1)

movar downcount

ADD_star, 0

ADD_end:

3:

clrr TmpL; borrar registro temporal

clrr TmpH

mulia a, 2; C_FLAG llevar bandera

inc TmpH, 1

rl TmpL, 1

estado btrss; poner valor

movar B

movr TmpL:

movr downcount, 1

movr TmpH, C_FLAG

inc TmpH: ; Sería mejor cambiarlo a un formulario de llamada

ADD_loop; sería mejor usar un formulario de llamada

btrsc status, C_FLAG Tenga en cuenta que la "multiplicación" del microcontrolador afectará la "bandera de transporte"

inc TmpH, 1

btrsc status, Z_FLAG; Z_FLAG zero flag

goto ADD_end

movr TmpL, 0, 1; los problemas de desbordamiento no se consideran aquí

decr downcount, 1

btrss status, 0

movar B

movr TmpL, 1

mulia a: los siguientes métodos (los siguientes están escritos en forma ensamblada, que puede ser más fácil de entender que C)

1: (método de desplazamiento)

clrr TmpL, 1; desplazamiento a la izquierda sin acarreo (desplazar dos bits a la izquierda es equivalente a *4)

btrss status ;Borrar registro temporal

clrr TmpH

movar TmpL

rl TmpL