첫 주 연구 요약 장 VI에서 2019-2020-1 학기 20192415 "사이버 전문 보안 소개"

2019-2020-1 학기 20192415

"사이버 보안 전문가 소개,"학습 요약 셋째 주

장 여섯 낮은 수준의 프로그래밍 언어와 의사 코드

6.1 컴퓨터 운영

컴퓨터 : 기능 저장 , 검색 , 프로세스 의 데이터를 프로그램 가능 전자 장치.

(조작 지시 데이터를 메모리에 저장된 동일한 데이터이다 .---- 폰 노이만 아키텍처)

프로그램 : 지침과 함께 컴퓨터에 저장된 데이터. 데이터의 컴퓨터 처리를 변경하기 만 명령을 변경할 필요가있다.

→ 기기의 제어부는 메모리에 데이터를 저장하는 시스템의 메모리에 데이터를 검색한다.

→ 어떤 방식으로 데이터를 처리하기위한 산술 논리 유닛 (프로세스는 상기 데이터 값에 대한 산술 및 논리 연산을 수행)

6.2 기계 언어

  • 구성된 직접 코딩 이진 사용하여 컴퓨터에 의해 언어 지침 : 기계 언어 (기계어)

    컴퓨터 명령은 실제로 하드웨어에서 고정 된 기계 언어에 의해 실행된다.

    각 기계 명령어는 매우 낮은 수준의 작업을 실행할 수 있습니다, 각각의 작은 단계는 명시 적으로 코딩해야합니다.

    이러한 프로그램은 너무 많은 시간이 소요됩니다.

  • PEP / 8 : 가상 장치 (두 등록하는 어떤 명령어 갖는 수행되어야 할 작업을, 데이터의 위치를 ​​설명하는 데 사용된다)

    1. 가상 머신 (가상 컴퓨터) : 가상 머신은 기계 설계의 실제 키 기능을 시뮬레이션합니다.

      기계 코드는 서로 다른 시스템에 의해, 각 시스템은 또한 작업의 특정 세트를 수행 할이 다릅니다.

    2. 중요 기능

      세븐 레지스터에 초점 :

      777에 -7FFF : 16 진수 표현 될 수있는 수를 범위

    3. 명령 형식

      명령 지정자 : 무엇을, 어떻게 피연산자의 위치를 ​​설명하기

      피연산자 지정자 (일부 지침이 더 있습니다) : 피연산자 자체 피연산자 주소

      모드 주소 :

      000-- 피연산자 - 즉각 주소 : 가장 빠른 읽기 직접 제공 명령 데이터

      001-- 피연산자 주소 - 직접 주소 : 어드레스에 저장된 명령, 어드레스를 직접 해결

      단항 지시 없음 피연산자 지정자, 1 바이트의 길이

    4. 예제 명령

      연산 코드

      ①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 테스트

테스트 프로그램 → 프로그램 실행

문제

  1. 어떻게 저장 단위를 결정하기 위해? 어떻게 인접한 위치를 볼 수? (001F 0030 000A)

  2. 펩 / 8 흔적의 Progam에서? 방법이 개 데이터의 역순으로 출력?

  3. 어셈블러 목록과, 왜 "잘못된 입력 DECI"같은 교과서의 구현 후? 이 음수이기 때문에, 출력은 E는 안된다?

추천

출처www.cnblogs.com/lanvin/p/11716138.html