程序设计层

程序设计层讨论的是如何使用计算机系统,引出机器语言

  • 低级程序设计语言
    • 计算机操作
      • 可编程&存储&检索&处理
    • [[机器语言(Machine Language)]]:由计算机直接使用的二进制编码指令构成的语言
      • [[硬件依赖性]]: 机器代码因机器的不同而不同,即每种类型的CPU都有它能理解的机器语言
      • [[解决机器语言不同的方法]]
        • [[虚拟机(Virtual Machine,VM)]]
          • [[JVM]]
          • Pep/8–[[计算机科学概论原书第5版.pdf#page=103|计算机基础科学概论Pep/8]]
            • 体系结构![[Pasted image 20240808175802.png]]
            • 指令格式![[Pasted image 20240808180717.png]]
              • 8位指令说明符(可选的):说明要执行上面操作和如何解释操作数的位置.指令说明符的格式根据表示一个具体操作所用的比特数不同而不同![[Pasted image 20240808180741.png]]
                • 操作码(4bit-8bit):长度在4bit到8bit不等
                  • 4bit操作码
                    • 第5位为寄存器说明符:指定使用哪个寄存器
                    • 3bit寻址模式说明符:表示怎么解析指令中的操作数部分👇
                      • 寻址模式
                        • 立即寻址模式![[Pasted image 20240808181718.png]]
                        • 直接寻址模式![[Pasted image 20240808181731.png]]
              • 16位操作数说明符:操作数的本身或者操作数的地址(有些指令没有操作数说明符)
              • 一元指令:没有操作数(要处理的数据)
    • [[汇编语言(Assembly Language)]]:一种低级语言,用助记码表示特定计算机的机器语言指令
      • 汇编器(assembler):把汇编语言程序翻译成机器码的程序![[Pasted image 20240808221123.png]]
      • 汇编器指令(assembler directive):翻译程序使用的指令
    • 伪代码(peseudocode):一种表达算法的语言
  • 算法与数据结构
    • [[算法(algorithm)]]:在有限的时间内用有效的数据解决问题或子问题的明确指令集合
    • [[数据结构(data structure)]]:一种抽象数据类型中的符合数据域的实现
  • 面向对象设计与高级程序语言设计
    • 面向对象设计OOD
    • 高级程序语言
      • 翻译过程
        • 编译器(compiler):把高级语言编写的程序翻译成机器码的程序![[Pasted image 20240808223347.png]]
          • 同样具有硬件依赖性,多类型机器上使用一个高级语言,需有多个编译器
        • 解释器(interpreter):输入用高级语言编写的程序,指导计算机执行每个语言指定的动作的程序(边翻译边执行)
        • [[JVM]]
          • [[java语法回眸|java]]
          • 字节码(bytecode):编译Java源代码使用的标准机器语言
      • [[程序设计语言范型]]
        • 面向过程编程(Procedural Programming)
        • 面向对象编程(Object-Oriented Programming,OOP)