OpenCores
URL https://opencores.org/ocsvn/oms8051mini/oms8051mini/trunk

Subversion Repositories oms8051mini

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /oms8051mini
    from Rev 20 to Rev 21
    Reverse comparison

Rev 20 → Rev 21

/trunk/verif/sw/C/all_instr.c
0,0 → 1,229
/*
* CONFIDENTIAL
******************************************************************************************************
* Copyright (c)2012-2014 : Asarva Chips and Technologies Pvt.Ltd.
*
* This code contains confidential information of Asarva Chips and Technologies Pvt. Ltd.
* and is protected by copyright laws. Any kind of reproduction, distribution, or use of this
* code or a section of it , without the prior written consent is strictly prohibited.
*
******************************************************************************************************
* DESIGN SUMMARY
******************************************************************************************************
* File name : Carbon_8051_InstructionValidation
* Description : Validating all the instructions for 8051 microcontroller
* Created by : Vinayak Joshi
*
*******************************************************************************************************
*/
 
 
#include <8051.h>
 
void main()
{
__asm // Add
ADD A,#03
MOV A,#10
MOV R1,#20
ADDC A,R1
JC CHere
CHere : NOP
ADDC A,@R1
ADDC A,30
CJNE A,#30,NEXT
NEXT : NOP
SUBB A,#01
MOV A,#30 // SUb
MOV R2,#10
SUBB A,R2
//SUBB A,@R3
SUBB A,44
MOV A, #30 //Inc
INC A
INC 34
INC DPTR
MOV R1,#20
INC R1
MOV A, #30 //Dec
DEC A
DEC 34
//DEC DPTR
MOV R3,#20
DEC R3
MOV A,#5 //Mul
MOV B,#4
MUL AB
MOV A,#10 //Div
MOV B,#2
DIV AB
MOV A,#30 //AND
MOV B,#2
ANL A,B
ANL A,#30
MOV R1,#3
ANL A,@R1
ANL A,#20
ANL A,R1
ANL 30,#33
ANL 30,A
MOV A,#30 //OR
MOV B,#2
ORL A,B
ORL A,#30
MOV R1,#3
ORL A,@R1
ORL A,#20
ORL A,R1
ORL 30,#33
ORL 30,A
MOV A,#30 // XOR
MOV B,#2
XRL A,B
XRL A,#30
MOV R1,#3
XRL A,@R1
XRL A,#20
XRL A,R1
XRL 30,#33
XRL 30,A
MOV A,#65 //RLC
RLC A
RL A
RR A
RRC A
MOV A,#65 //Swap
SWAP A
MOV DPTR,#9000
MOVC A,@A+DPTR // Dptr
MOV A,#47 //DA decimal adjustment
MOV B,#25
ADD A,B
DA A
AJMP MPLABEL
MPLABEL : NOP
ACALL ALABEL
ALABEL : NOP
LCALL SLABEL
SLABEL : NOP
MOV A,#01
MOV R1,#01
ADDC A,R1
JNC NHere
NHere : NOP
JB 45,JHere
NOP
JHere : NOP
JBC 45,JBCHere
NOP
JBCHere : NOP
MOV A,#0
JZ AZHere
AZHere : NOP
MOV A,#1
JNZ ANZHere
ANZHere : NOP
JMP @A+DPTR
MOV A,#55
CJNE A,#01, CJHere
CJHere : NOP
CJNE R1,#99,CRHere
CRHere : NOP
MOV R1,#3
DJNZ R1, DJHere
DJHere : NOP
MOV DPTR,#30
MOVC A,@A+DPTR
MOVC A,@A+PC
MOVX A,@R1
MOVX A,@DPTR
MOVX @R1,A
MOVX @DPTR,A
PUSH 03
POP 03
MOV A,#30
MOV R1,#50
XCH A,R1
XCH A,33
XCH A,@R1
XCHD A,@R1
MOV A,#30
ADDC A,#30
CLR C
CLR 01
SETB C
SETB 63
CPL C
CPL 63
ANL C,01
ANL C,/22
ORL C, 02
ORL C,/22
MOV C, 01
MOV 01, C
//ISR
SETB P1.3
MOV R3,#255
BACK : DJNZ R3, BACK
CLR P1.3
RETI
__endasm;
}
trunk/verif/sw/C/all_instr.c Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.