微型计算机的基本概念涉及了计算机硬件系统中的核心组件和基本操作,包括指令系统、存储器结构、数制转换以及数据表示。下面将详细解释这些知识点:
1. **指令系统**:程序由一系列指令组成,每条指令都有特定的功能。在给定的程序段中,可以看到诸如`MOV`(移动数据)、`ADD`(加法)和`LJMP`(长期跳转)这样的指令。`MOV`指令用于将数据从一个位置复制到另一个位置,`ADD`用于两个操作数相加,而`LJMP`则用于改变程序计数器`PC`的值,实现程序流程的转移。
2. **程序计数器PC**:在执行指令`ADD A, A`时,程序计数器`PC`的内容是当前指令地址的下一个地址,即`000FH + 2 = 0011H`,因为单字节指令通常会增加`PC`的值。执行`ADD A, B`后,`PC`同样会增加2,但具体值取决于`PC`当时的实际值。
3. **内存分配**:程序段从`000FH`开始,每条指令占据一个字节。程序包含6条指令,因此占用内存6个单元,即`000FH`到`0014H`。
4. **累加器A、寄存器B及PC的内容**:在执行`ADD A, B`之前,累加器`A`和寄存器`B`的值分别为`08H`和`76H`。执行加法指令后,`A`的内容取决于`A`和`B`的二进制加法结果,而`B`的值保持不变。程序计数器`PC`会递增到`0013H`。
5. **LJMP指令**:当CPU取回并执行`LJMP 2000H`时,`PC`的内容变为`2000H`。执行后,`PC`的值将更新为`2001H`,指示程序跳转至新的地址继续执行。
6. **堆栈操作**:堆栈是内存中的一块区域,具有后进先出(LIFO)的特性。`PUSH`指令用于将数据压入堆栈,`POP`用于取出数据。在给出的堆栈操作中,`SP`(堆栈指针)初始化为`0E0H`,然后`A`和`B`依次被压入堆栈。堆栈图显示`SP`会减小,最后`SP`指向`A`的下一条地址,即`0DFH`。
7. **存储器芯片**:
- 对于12根地址线和8根数据线的芯片,共有`2^12 = 4096`个存储单元,每个单元可存放8位二进制数。
- 对于16K ×8位的存储器,16K表示`2^14`个存储单元,所以有`2^14`×8位的总容量。
8. **数制转换**:这里涉及到二进制、十六进制和十进制之间的转换,例如`OEDH`转换成二进制是`111011101101`,`OB.ADH`转换成二进制是`10111010.10101101`等。
9. **计算存储器芯片的地址范围**:对于16K ×8位的芯片,地址线数量至少为14根,首址为`1000H`,末址为`1000H + 2^14 - 1 = FFFFH`。
以上是微型计算机基础知识的一些关键点,包括指令执行、内存分配、堆栈操作、存储器结构以及数制转换等。这些知识是理解计算机系统工作原理的基础。