7
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

Programa Ensamblador Del Sistema 8031 CORREGIR

Embed Size (px)

Citation preview

Page 1: Programa Ensamblador Del Sistema 8031 CORREGIR

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

Page 2: Programa Ensamblador Del Sistema 8031 CORREGIR

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

Page 3: Programa Ensamblador Del Sistema 8031 CORREGIR

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

Page 4: Programa Ensamblador Del Sistema 8031 CORREGIR

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

Page 5: Programa Ensamblador Del Sistema 8031 CORREGIR

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

Page 6: Programa Ensamblador Del Sistema 8031 CORREGIR

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