14.C 언어 사용 예 - 이상정

Download Report

Transcript 14.C 언어 사용 예 - 이상정

C 언어 사용 예
순천향대학교 정보기술공학부
이상정
2002-1 마이크로프로세서
메모리 영역 사용 예
main()
{
char data da,db,dc;
int xdata xa,xb,xc;
da = db+dc;
xa = xb+xc;
}
순천향대학교 정보기술공학부
이상정
2
2002-1 마이크로프로세서
메모리 영역 사용 예
; FUNCTION main (BEGIN)
0000 E500 R
MOV
A,db
0002 2500 R
ADD
A,dc
0004 F500 R
MOV
da,A
; SOURCE LINE # 8
0006 900000 R MOV
DPTR,#xc
0009 E0
MOVX A,@DPTR
000A FE
MOV
R6,A
000B A3
INC
DPTR
000C E0
MOVX A,@DPTR
000D FF
MOV
R7,A
000E 900000 R MOV
DPTR,#xb+01H
0011 E0
MOVX A,@DPTR
0012 2F
ADD
A,R7
순천향대학교 정보기술공학부
이상정
3
2002-1 마이크로프로세서
메모리 영역 사용 예
0013 900000 R MOV
DPTR,#xa+01H
0016 F0
MOVX @DPTR,A
0017 A3
INC
DPTR
0018 E0
MOVX A,@DPTR
0019 3E
ADDC A,R6
001A 900000 R MOV
DPTR,#xa
001D F0
MOVX @DPTR,A
; SOURCE LINE # 9
001E 22
RET
; FUNCTION main (END)
순천향대학교 정보기술공학부
이상정
4
2002-1 마이크로프로세서
메모리 영역 사용 예
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE
=
31 ---CONSTANT SIZE = ---- ---XDATA SIZE
=
6 ---PDATA SIZE
= ---- ---DATA SIZE
= ---3
IDATA SIZE
= ---- ---BIT SIZE
= ---- ---END OF MODULE INFORMATION.
순천향대학교 정보기술공학부
이상정
5
2002-1 마이크로프로세서
비트 자료형 사용 예
bdata unsigned char test _at_ 0x25;
sbit test2 = test ^ 2;
main()
{
bit b1=0, b2=0;
test = 0x77;
b1 = test2 | b2;
}
순천향대학교 정보기술공학부
이상정
6
2002-1 마이크로프로세서
비트 자료형 사용 예
; FUNCTION main (BEGIN)
0000 C200 R
CLR
b1
0002 C200 R
CLR
b2
0004 752577
0007 A200
0009 722A
000B 9200
000D 22
MOV
R
R
MOV
ORL
MOV
; SOURCE LINE # 8
test,#077H
; SOURCE LINE # 9
C,b2
C,test2
b1,C
; SOURCE LINE # 10
RET
; FUNCTION main (END)
순천향대학교 정보기술공학부
이상정
7
2002-1 마이크로프로세서
비트 자료형 사용 예
 Map 파일(*.m51)
TYPE BASE
LENGTH RELOCATION SEGMENT NAME
---------------------------------------------------******* DATA MEMORY *******
REG 0000H
0008H
ABSOLUTE
"REG BANK 0"
0008H
0018H
*** GAP ***
BIT
0020H.0 0000H.2 UNIT
_BIT_GROUP_
0020H.2 0004H.6
*** GAP ***
DATA 0025H
0001H
ABSOLUTE
순천향대학교 정보기술공학부
이상정
8
2002-1 마이크로프로세서
포인터 자료형 사용 예
unsigned char xdata text[] = "World Cup";
unsigned char *str;
main()
{
unsigned char c1,c2;
str = text;
c1 = text[2];
c2 = *(str+6);
}
순천향대학교 정보기술공학부
이상정
9
2002-1 마이크로프로세서
포인터 자료형 사용 예
; FUNCTION main (BEGIN)
0000 7B01
MOV
R3,#01H
0002 7A00 R MOV
R2,#HIGH text
0004 7900 R MOV
R1,#LOW text
0006 8B00 R
MOV
str,R3
0008 8A00 R
MOV
str+01H,R2
000A 8900 R
MOV
str+02H,R1
; SOURCE LINE # 8
000C 900000 R MOV
DPTR,#text+02H
000F E0
MOVX A,@DPTR
0010 F500 R
MOV
c1,A
; SOURCE LINE # 9
0012 900006
MOV
DPTR,#06H
0015 120000 E
LCALL ?C?CLDOPTR
0018 F500 R
MOV
c2,A
; SOURCE LINE # 10
001A 22
RET
순천향대학교 정보기술공학부
이상정
10