2019-2020-1 학기 20192415
"사이버 보안 전문가 소개,"학습 요약 셋째 주
장 여섯 낮은 수준의 프로그래밍 언어와 의사 코드
6.1 컴퓨터 운영
컴퓨터 : 기능 저장 , 검색 , 프로세스 의 데이터를 프로그램 가능 전자 장치.
(조작 지시 데이터를 메모리에 저장된 동일한 데이터이다 .---- 폰 노이만 아키텍처)
프로그램 : 지침과 함께 컴퓨터에 저장된 데이터. 데이터의 컴퓨터 처리를 변경하기 만 명령을 변경할 필요가있다.
→ 기기의 제어부는 메모리에 데이터를 저장하는 시스템의 메모리에 데이터를 검색한다.
→ 어떤 방식으로 데이터를 처리하기위한 산술 논리 유닛 (프로세스는 상기 데이터 값에 대한 산술 및 논리 연산을 수행)
6.2 기계 언어
구성된 직접 코딩 이진 사용하여 컴퓨터에 의해 언어 지침 : 기계 언어 (기계어)
컴퓨터 명령은 실제로 하드웨어에서 고정 된 기계 언어에 의해 실행된다.
각 기계 명령어는 매우 낮은 수준의 작업을 실행할 수 있습니다, 각각의 작은 단계는 명시 적으로 코딩해야합니다.
이러한 프로그램은 너무 많은 시간이 소요됩니다.
PEP / 8 : 가상 장치 (두 등록하는 어떤 명령어 갖는 수행되어야 할 작업을, 데이터의 위치를 설명하는 데 사용된다)
가상 머신 (가상 컴퓨터) : 가상 머신은 기계 설계의 실제 키 기능을 시뮬레이션합니다.
기계 코드는 서로 다른 시스템에 의해, 각 시스템은 또한 작업의 특정 세트를 수행 할이 다릅니다.
중요 기능
세븐 레지스터에 초점 :
777에 -7FFF : 16 진수 표현 될 수있는 수를 범위
명령 형식
명령 지정자 : 무엇을, 어떻게 피연산자의 위치를 설명하기
피연산자 지정자 (일부 지침이 더 있습니다) : 피연산자 자체 피연산자 주소
모드 주소 :
000-- 피연산자 - 즉각 주소 : 가장 빠른 읽기 직접 제공 명령 데이터
001-- 피연산자 주소 - 직접 주소 : 어드레스에 저장된 명령, 어드레스를 직접 해결
단항 지시 없음 피연산자 지정자, 1 바이트의 길이
예제 명령
연산 코드
①0000 정지 실행
停止指令是一元指令,只占用一个字节,最右三位被忽略。
②1100 피연산자 레지스터 A는로드되고
载入指令→立即寻址——要被载入寄存器A的值在操作数说明符中,寄存器A中原来的内容会丢失。 →直接寻址——储存单元中储存的内容被载入到寄存器A中
③1110 레지스터 (A)의 내용은 피연산자에 저장된
将寄存器A的内容储存到操作数本身/操作数中的指定位置 在存储操作码中使用立即寻址是非法的,我们不能尝试将寄存器的内容存储到操作数说明符中。
④ 및 레지스터 (1000)와, 감산에 ⑤0111 오퍼랜드
相加/减去:数据或操作数的位置的内容被加/减到寄存器中
⑥01001 문자 입력 오퍼랜드
####** 只能使用直接寻址** #### 从输入设备中读取ASCII码形式的字符,储存在操作数单元符中显示的地址中。
캐릭터로부터 ⑦01010 출력 오퍼랜드
可能是立即寻址也可能是直接寻址
6.3 프로그램 인스턴스
문자 그룹을 참조 할 큰 따옴표, 작은 따옴표는 단일 문자를 의미
6.3.1 수동 시뮬레이션
명령이 액세스되면, 프로그램 카운터 (마다 명령어 몇 바이트, PC는 몇 가지를 추가하는)을 증가
6.3.2 펩 / 8 시뮬레이터
바이트 의해 바이트 입력 진수 각 바이트 사이의 공간으로 구분 코드, ZZ 프로그램을 종료한다.
로더 (로더) 컴퓨터 언어를 판독하고, 상기 메모리 부에로드 소프트웨어
6.4 어셈블리 언어
각 기계어 명령 니모닉을위한 어셈블리 언어 명령어는 명령 코드 바이너리 숫자 대신에 사용할 수있는 코드를 할당됩니다.
어셈블리 언어 (assenbly 언어) : 낮은 수준의 언어, 니모닉 특정 컴퓨터 기계어 명령으로 표시
어셈블러 (어셈블러) : 기계 코드에 어셈블리 언어 프로그램을 번역하기
6.4.1 어셈블리 언어
각 레지스터는 연산 코드, 오퍼랜드 16 진수 즉시 어드레싱 모드, 축 안내 I에 의해 해결되어 있으며, D를 직접 어드레싱.
6.4.2 어셈블러 지시어
어셈블러 지시어 (assenbler 지시자) : 사용 명령 인터프리터는 의사 작동했다.
6.4.3 어셈블리 언어 버전
의견 (코멘트) : 프로그램에 독자를 제공하기 위해 설명 텍스트
컴파일 과정 :
새로운 프로그램을 6.4.4
6.4.5 분기의 프로그램을 가지고
니모닉 :
그들의 구현 프로세스 :
6.4.6 프로그램 루프를 갖는다
만들기 루프 코드 수는 지정된 횟수만큼 반복 될 수있다.
6.5 표현 알고리즘
알고리즘 (알고리즘) : 정착 계획 또는 프로그램 또는 문제를 해결하는 단계들의 논리 시퀀스의 개요
의사 코드 (psedocode) : 언어 표현 알고리즘
의사 코드 문 :
의사 코드는 컴퓨터에서 실행할 수있는 최종 프로그램으로 변환해야합니다.
의사 코드 문은 어셈블리 언어 구문의 다양한으로 번역 될 수 있지만 고급 언어 문으로 번역 될 수있다.
데스크탑 검사 (책상 검사는) : 종이에 전체 디자인을 통해 걸어
6.6 테스트
테스트 프로그램 → 프로그램 실행
문제
어떻게 저장 단위를 결정하기 위해? 어떻게 인접한 위치를 볼 수? (001F 0030 000A)
펩 / 8 흔적의 Progam에서? 방법이 개 데이터의 역순으로 출력?
어셈블러 목록과, 왜 "잘못된 입력 DECI"같은 교과서의 구현 후? 이 음수이기 때문에, 출력은 E는 안된다?