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 p>
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: p >
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