어셈블리 문법 보강 4월 10일.

Slides:



Advertisements
Similar presentations
DEBUG 상지대학교컴퓨터정보공학부. Debug 시작하기  Windows XP 에서 “ 시작 ” 버턴을 클릭한다.  시작메뉴에서 “ 프로그램 ” 을 클릭하고, 보조프로그램을 선택한다.  보조프로그램에 “ 명령 프롬프트 ” 를 클릭한다.  Window XP 에서.
Advertisements

제 2 장 74HC574 소자를 이용한 LED DISPLAY.
예비보고서1 : 8개의 푸시버튼 스위치가 있다. 이 스위치에 각각 0~7개까지의 번호를 부여하였다고 하자
3. 명령어 집합 구조 순천향대학교 정보기술공학부 이상정.
7 – 세그먼트 동작 시키기 (0~9, A, B, C, D, E, F 표시하기)
4장 어셈블리 프로그램 작성의 기본 어셈블러 어셈블리 언어 요소 예제 프로그램 데이터 정의
제4장 어셈블리어.
제4장 어셈블리어.
Lecture #12 인터럽트 Interrupt.
어셈블리.
Lecture #5 어셈블리어 (2) 매크로 어셈블리어 시스템프로그래밍.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Lecture #7 어셈블리어 (4) 매크로 어셈블리어 시스템프로그래밍.
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
제 7 장 링커와 로더 설계.
제 1 장 마이크로프로세서의 기본동작.
Lecture #3 인텔 프로세서의 내부구조 및 동작 방식 시스템프로그래밍.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
System Programming 제1장 배경지식 시스템 프로그래밍.
REVERSE ENGINEERING HeXA 1st
Lecture #8 어셈블리어 (5) 매크로 어셈블리어 시스템프로그래밍.
제 5장 매크로 프로세서 설계.
제 5장 매크로 프로세서 설계.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
제 6 장 8086 어셈블러 설계.
제 6장 8086 어셈블러 설계.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
임베디드 실습 # LED, 7’Segment 제어
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
제3장 8086 프로세서의 내부구조.
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
JA A V W. 03.
Chap 6.Assembler 유건우.
어셈블리어 (2) 매크로 어셈블리어 시스템 프로그래밍 - Lecture #4
Seoul National University
DK-128 FND 실습 아이티즌 기술연구소
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Lecture #9 매크로 프로세서 설계 & 구현.
연산자 (Operator).
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
아두이노 매트릭스 코딩 매트릭스 기본 명령어 실습 01차시 ㈜헬로앱스 김영준.
ARM Development Suite v1.2
ATmega128의 특징 아이티즌 기술연구소
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
계산기.
7세그먼트 표시기.
자료관리 : 현 화면에서 인쇄할 자료를 입력하여 발행하는 화면 입니다.
DK-128 개발환경 설정 아이티즌 기술연구소
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
ARM Development Suite v1.2
논리회로 설계 및 실험 4주차.
TVM ver 최종보고서
3.2 분기 명령어.
AdcRead API 함수 분석 마이크로프로세서.
EZ-8051 Board를 이용한 E-Board의 제어
ARM Development Suite v1.2
제 5 장 82C55를 이용한 포트 출력.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Assembly 05 방호남 07 반지훈 09 박상욱.
                                  6장 엔코드 디코드 회로 10진수와 2진수의 변환 및 표시 4 7 A B C D BCD 변환.
ARM Development Suite v1.2
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

어셈블리 문법 보강 4월 10일

MASM 어셈블리 OPCODE OPRAND1, OPRAND2 JMP명령 숫자 지정 오퍼레이션 방향 주의 교재의 9장 참조 각 명령어와 관계된 플래그들 이해 ex) 명령어 JA  현재 C=0 and Z=0 일 때 Jump수행 숫자 지정 MOV AX, 0x300 (MOV AX, 300H) MOV AX, 0x1A3F (MOV AX, 1A3FH) MOV AX, 0xFFFF (MOV AX, 0FFFFH)

MASM 어셈블리 입출력 포트 설정 RAM의 100H에서 프로그램 시작 어셈블 시 사라지는 것들 (Directives) 8255 레지스터 설정 (이전 수업시간에 배웠음) TEST.ASM 참고 RAM의 100H에서 프로그램 시작 ORG 100H 어셈블 시 사라지는 것들 (Directives) 지시자들 code segment assume cs:code code ends end 각종 라벨들 START, SH_LOOP, …

어셈블리 주의사항 <일반적인 코드 설정> <8086 보드를 위한 설정> CODE SEGMENT ASSUME CS:CODE,DS:DATA   ORG 100H //  코드 작성   CODE ENDS DATA SEGMENT ORG 10000H //  데이터 작성 DATA ENDS    END CODE SEGMENT     ASSUME CS:CODE,DS:DATA   ORG 100H //  코드 작성 // 데이터 작성  CODE ENDS   END 하나의 세그먼트 안에 코드와 데이터를 모두 설정하세요.

어셈블리 기초 MASM 명령어 MOV AX(레지스터), 데이터값 XOR AX(레지스터), 데이터값 레지스터에 값을 저장해야 할 경우 XOR AX(레지스터), 데이터값 MOV AX, F0F0H XOR AX, FFFFH  AX : 0F0FH CMP AX(레지스터), 데이터값 레지스터 값과 데이터값의 비교가 필요할 경우 JMP <라벨이름> 현재 실행라인에서 라벨위치로이동 Ex) LOOP: XOR AX, FFFFH MOV AH, 00H START: MOV AX, FFFFH JMP LOOP

어셈블리 기초 MASM 명령어 JE <라벨이름> JNE <라벨이름> CMP 명령결과, 레지스터 값과 비교 데이터값이 같을 경우 JMP Ex) MOV AX, F0H CMP AX, FFH JE LOOP JNE <라벨이름> CMP 명령결과, 레지스터 값과 비교 데이터값이 다를 경우 JMP Ex) MOV AX, FFH JNE LOOP OUT <입출력 포트 주소>, <레지스터> 레지스터 값을 출력포트로 Write할 경우 출력되는 값이 1이면 해당 LED는 OFF, 0이면 ON IN <레지스터>, <입출력 포트 주소> 입력포트로부터 데이터값을 레지스터로 Read할 경우 입력되는 값이 1이면 해당 스위치는 OFF, 0이면 ON

어셈블리 기초 MASM 명령어 루프문 레지스터 C의 While문 역할, 어떤 조건을 만족할때까지 명령을 실행해야할 경우 Ex) MOV AX, FFH LOOP: SHL AX, 1 CMP AX, 0 JNE LOOP OUT PORT_B, AX 레지스터 AX, BX, CX, DX는 16비트 레지스터 AH, BH, CH, DH는 상위 8비트 레지스터 AL, BL, CL, DL은 하위 8비트 레지스터 Ex) MOV AX, 1111111100000000B(0FF00H) MOV AH, 00000000B MOV AL, 11111111B AX  0000000011111111B(00FFH)