회원가입 ID/PW 찾기

하드웨어 설계에 관련한 공개 강좌를 게재하는 공간입니다.
운영진에 의해 강좌글은 편집되며, 공익을 위한 게시글은 '하드웨어 강좌'란으로 이동될 수 있습니다.

콘텐츠 수 129
판매자 아크마 판매 납포인트 무료 평점 0점 / 총 0명 참여

 

C언어와 어셈블리어 비교

C언어

#include<reg51.h>

 

void main(void)

{

int i;

 

while(1){

P1 = 0xf0;

for(i=0; i<30000; i++);

 

P1 = 0x0f;

for(i=0; i<30000; i++);

}

}

 

L4002: 7590F0 MOV 90, #F0

L4005: E4 CLR A

L4006: FF MOV R7, A

L4007: FE MOV R6, A

L4008: 0F INC R7

L4009: BF0001 CJNE R7, #00, 400D

L400C: 0E INC R6

L400D: BE75F8 CJNE R6, #75, 4008

L4010: BF30F5 CJNE R7, #30, 4008

L4013: 75900F MOV 90, #0F

L4016: E4 CLR A

L4017: FE MOV R6, A

L4018: FF MOV R7, A

L4019: C3 CLR C

L401A: EF MOV A, R7

L401B: 9430 SUBB A, #30

L401D: EE MOV A, R6

L401E: 6480 XRL A, #80

L4020: 94F5 SUBB A, #F5

L4022: 50DE JNC 4002

L4024: 0F INC R7

L4025: BF0001 CJNE R7, #00, 4029

L4028: 0E INC R6

L4029: 80EE SJMP 4019

L4000: 012B AJMP 402B

L402B: 783F MOV R0, #3F

L402D: E4 CLR A

L402E: F6 MOV @R0, A

L402F: D8FD DJNZ R0, 402E

L4031: 758107 MOV 81, #07

L4034: 0102 AJMP 4002

어셈블리어

ORG 8000H

MAIN: MOV P1, #0F0H

CALL DELAY

MOV P1, #0FH

CALL DELAY

JMP MAIN

 

DELAY: MOV R0, #23

LOOP1: MOV R1, #100

LOOP2: MOV R2, #100

DJNZ R2, $

DJNZ R1, LOOP2

DJNZ R0, LOOP1

RET

 

END

 

L8000: 7590F0 MOV 90, #F0

L8003: 12800E LCALL 800E

L8006: 75900F MOV 90, #0F

L8009: 12800E LCALL 800E

L800C: 80F2 SJMP 8000

L800E: 7817 MOV R0, #17

L8010: 7964 MOV R1, #64

L8012: 7A64 MOV R2, #64

L8014: DAFE DJNZ R2, 8014

L8016: D9FA DJNZ R1, 8012

L8018: D8F6 DJNZ R0, 8010

L801A: 22 RET


위 내용은 청강대학교 허인 교수님의 고마운 공유정신 발휘로 마이컴박스에 게시 및 수정 업데이트됩니다.
허인 교수님 및 마이컴박스(개정부분)의 동의 없이 무단 복재 및 전재, 재배포 금지합니다.

모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.


search

연재강좌(하드웨어 엔지니어 되기) : (12)
전자 하드웨어 기초 : (14)
8051 어셈블리 강좌(by 허인교수님) : (7)
■ 제3장. 명령어 2019-04-17 14:58
AVR 기반의 라인트레이서(by 아크마) : (9)
용어도 모르겠어요 : (15)
■ 8051이란? 2019-04-17 00:17
■ 아트워크 기초 2019-04-17 14:40
■ MCU 기초 2019-12-19 10:58
■ 펌웨어 기초 2019-04-17 14:44
■ 납땜하기 2019-07-26 09:49
하드웨어 일반 : (15)
■ ASCII Table 2019-04-17 14:19
PCB설계와 제조의 이해 : (7)
■ CAD-Utility 2021-09-02 13:41
EMC 적합성을 고려한 PCB설계 : (43)
PCB의 기초 : (14)
바이패싱과 디커플링 : (9)
ESD 보호 : (3)
■ ESD 보호 - 개요 2017-06-22 10:24
클럭회로 : (17)
PCB 자주 묻는 질문 : (1)
Altium 사용하기 : (6)
ETC
  • 실패한 고통보다 최선을 다하지 못했음을 깨닫는 것이 몇배 더 고통스럽다.
    - 앤드류 매튜스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.