Problema de programación en lenguaje ensamblador; escribir un programa en lenguaje ensamblador. Puede mostrar números cada 10 segundos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
ORG 0000H; Tubo digital *** negativo
AJMP MAIN
ORG 000BH
T0MS EQU NOT 50000; 6.000 MHz
PJSBZ EQU 20H
PJSBZY EQU 21H
PST0: MOV TL0, #LOW T0MS; interrupción T0
MOV TH0, # ALTO T0MS
SETB PJSBZ; bandera de 100 mS
DJNZ R6, PST02
MOV R6, #100; >
SETB PJSBZY ; 10 S flag
PST02: RETI
PRINCIPAL: MOV TMOD, #01H
MOV IE, #82H ; interrupción
MOV SP, #30H
MOV TL0, #LOW T0MS; A 100MS tiempo de interrupción 0
MOV TH0, #HIGH T0MS
SETB TR0
MOV R6, #10; valor de temporización inicial
MOV DPTR, #TAB
MAIN1: MOV R0, #0
PRINCIPAL2: JNB PJSBZY, $ ; 10 S
CLR PJSBZY
MOV A, R0
MOVC A,@A+DPTR
MOV SBUF, A
INC R0
CJNE R0, #0AH, MAIN2
AJMP MAIN1
TAB: DB 3FH , 06H , 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
DB 77H, 7CH, 39H, 5EH, 79H, 71H
FIN