Upload
smith-ccahuay-huamani
View
16
Download
2
Embed Size (px)
Citation preview
Programa ensamblador del sistema 8031 a implementar
Tareas:(enviar por correo electrónico su resultado (archivo .hex) para el día 27 de diciembre – 2013)
Email: [email protected]
Verificar que coincida con el listado que se les entrego y con las copias respectivas de las instrucciones del 8031 que tienen como fotocopia.
Completar las instrucciones que están escritas de manera genéricausando los datos correctos de acuerdo a su código de operación respectivo(escrito a la izquierda de cada mnemónico)
Una vez terminada la verificación y completadas correctamente las instrucciones, usar un editor de texto para escribir el programa y guardarlo con extensión .asm
En el editor de texto solo escribir los mnemónicos línea por linea, no se escriben ni la dirección ni el código de operación.
Utilizar el programa ensamblador para cargar el archivo con extensión .asm, ensamblarlo y obtener el archivo objeto para luego obtener el archivo hex.
Dirección Código de Operación Mnemónico
00000 0200C0 LJMP 00C0
00003 021FFD LJMP 1FFD
0000B 021FFA LJMP 1FFA
00013 021FF7 LJMP 1FF7
0001B 02003A LJMP 003A
00020 C2F0 CLR F0
00022 900100 MOV DPTR, #0100H
00025 D2B5 SETB B5
00027 759850 MOV 30, #7FH
0002A 758920 MOV C3, #C2H
0002D 758DFD MOV 02, #FFH
00030 D28E SETB 8E
00032 D2AF SETB AF
00034 D2AB SETB AB
00036 80FE SJMP code address
00038 80FC SJMP code address
0003A 20B509 JB bit address, code address
0003D 750900 MOV FF, #02H
00040 7508D0 MOV FF, #FAH
00043 C28E CLR 8E
00045 32 RETI
00046 3098F1 JNB bit address, code address
00049 C28E CLR 8E
0004B C298 CLR 98
0004D E599 MOV A, 80H
0004F 547F ANL A, #7F
00051 F590 MOV E8, A
00053 120068 LCALL 0068
00056 10F008 JBC bit address, code address
00059 C4 SWAP A
0005A F570 MOV B4, A
0005C D2F0 SETB F0
0005E D28E SETB 8E
00060 32 RETI
00061 2570 ADD A, data address
00063 F0 MOVX @DPTR, A
00064 A3 INC DPTR
00065 D28E SETB 8E
00067 32 RETI
00068 F8 MOV R0, A
00069 54F0 ANL A, #F0
0006A F0 MOVX @DPTR, A
0006B B43002 CJNE A, #data, code address
0006E 8018 SJMP code address
00070 B44006 CJNE A, #data, code address
00073 C3 CLR C
00074 E8 MOV A, R0
00075 9447 SUBB A, #47
00077 4002 JC code address
00079 8013 SJMP code address
0007B E8 MOV A, R0
0007C B44002 CJNE A, #data, code address
0007F 80F8 SJMP code address
00081 C3 CLR C
00082 9437 SUBB A, #37
00084 22 RET
00085 00 NOP
00086 00 NOP
00087 00 NOP
00088 E8 MOV A, R0
00089 C3 CLR C
0008A 943A SUBB A, #3A
0008C 4002 JC code address
0008E 800B SJMP code address
00090 E8 MOV A, R0
00091 942F SUBB A, #2F
00093 4006 JC code address
00095 C3 CLR C
00096 E8 MOV A, R0
00097 9430 SUBB A, #30
00099 80E9 SJMP code address
0009B 7400 MOV A, #00H
0009D F590 MOV E8, A
0009F 1200AB LCALL 00AB
000A2 7488 MOV A, #E8H
000A4 F590 MOV E8, A
000A6 1200AB LCALL 00AB
000A9 80F0 SJMP code address
000AB 7E80 MOV R6, #F8H
000AD 1E DEC R6
000AE 7FFF MOV R7, #FFH
000B0 1F DEC R7
000B1 BF00FC CJNE R7, #data, code address
000B4 BE00F6 CJNE R6, #data, code address
000B7 22 RET
000C0 7400 MOV A, #02H
000C2 F590 MOV E8, A
000C4 020020 LJMP code address
000D0 1200AB LCALL 00AB
000D3 C2B5 CLR bit address
000D5 020100 LJMP 0100
00100 02006B LJMP 006B
00103 021FFD LJMP 1FFD
0010B 021FFA LJMP 1FFA
00113 021FF7 LJMP 1FF7
0011B 02003A LJMP 003A
00120 C2F0 CLR FO
00122 900100 MOV DPTR, 02H
00125 D2B5 SETB B5
00127 759850 MOV 30, #7FH
0012A 758920 MOV C3, #C2H
0012D 758DFD MOV 02, #FFH
00130 D28E SETB 8E
00132 D2AF SETB AF
00134 D2AB SETB AB
00136 80FE SJMP code address
00138 80FC SJMP code address
0013A 20B509 JB bit address, code address
0013D 750900 MOV FF, #02H
00140 750863 MOV FF, #F0H
00143 C28E CLR 8E
00145 32 RETI
00146 3098F1 JNB bit address, code address
00149 C28E CLR 8E
0014B C298 CLR 98
0014D E599 MOV A, 80H
0014F F590 MOV E8, A
00151 F0 MOVX @DPTR, A
00152 A3 INC DPTR
00153 D28E SETB bit address
00155 32 RETI
00156 7E80 MOV R6, #F8H
00158 1E DEC R6
00159 7FFF MOV R7, #FF
0015B 1F DEC R7
0015C BF00FC CJNE R7, #data, code address
0015F BE00F6 CJNE R6, #data, code address
00162 22 RET
00163 120056 LCALL 0056
00166 C2B5 CLR bit address
00168 020100 LJMP 0100
00169 7400F5 MOV
0016E 900200 MOV
00170 20 JB
END
Nota: End es una directiva que indica el final de una rutina . No es una instrucción propiamente dicha y debe agregarse al final para que el programa ensamblador tome en cuenta el final del programa