汇编语言_第二版_王爽_课后习题答案
### 汇编语言知识点解析 #### 一、基本概念与计算原理 **知识点1:地址总线宽度与寻址能力** - **定义与计算**:计算机系统的地址总线宽度决定了CPU能直接访问的地址数量,进而决定了其寻址能力。例如,一个地址总线宽度为13位的CPU能够访问的地址空间为\(2^{13}\)个地址单位,即8KB(1KB = 1024 Byte)。 **知识点2:存储器容量与结构** - **存储器容量**:1KB等于1024个Byte,因此1KB的存储器具有1024个存储单元,每个存储单元的编号从0到1023。这样的存储器可以存储1024 * 8 = 8192 bit的信息量。 - **不同单位之间的转换**:1GB = \(2^{30}\) Byte、1MB = \(2^{20}\) Byte、1KB = \(2^{10}\) Byte。这种指数表示方法使得不同存储容量单位之间的转换更为直观和方便。 **知识点3:不同CPU的寻址能力和数据传输能力** - **寻址能力**:根据CPU地址总线宽度的不同,可以计算出CPU的寻址能力。例如,8080、8088、80286、80386的地址总线宽度分别是16根、20根、24根、32根,则它们的寻址能力分别为:64KB、1MB、16MB、4GB。 - **数据传输能力**:数据总线宽度决定了CPU一次可以传输的数据量。例如,8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根,则它们一次可以传输的数据分别为:1Byte、1Byte、2Byte、2Byte、4Byte。 **知识点4:内存访问次数** - **访问次数**:从内存中读取1024字节的数据时,由于CPU的数据总线宽度不同,所需的读取次数也不同。例如,对于8086(数据总线宽度为16位),每次可以读取2Byte,因此至少需要读取512次;而80386(数据总线宽度为32位),每次可以读取4Byte,至少需要读取256次。 #### 二、汇编指令执行与寄存器操作 **知识点5:寄存器操作** - **寄存器值的变化**:通过一系列的汇编指令操作,可以观察到寄存器值的变化。例如,执行以下指令序列后,相关寄存器中的值会发生如下变化: - `mov ax, 6262`:AX寄存器的值变为F4A3H。 - `mov ah, 31H`:AX寄存器的值变为31A3H。 - `mov al, 23H`:AX寄存器的值变为3123H。 - `add ax, ax`:AX寄存器的值变为6246H。 **知识点6:简单的算术运算** - **算术运算**:通过几条基本的汇编指令可以实现简单的算术运算。例如,计算2的4次方可以通过以下指令实现: - `mov ax, 2`:将2赋值给AX寄存器。 - `add ax, ax`:将AX寄存器中的值加倍。 - 重复三次上述指令即可得到2的4次方的结果。 #### 三、存储器寻址方式与指令执行过程 **知识点7:段地址与偏移地址** - **寻址范围**:给定段地址为0001H时,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。 - **寻址条件**:如果想要通过偏移地址访问内存20000H单元,假设段地址为SA,则SA应满足的条件是最小为1001H,最大为2000H。 **知识点8:指令指针(IP)的变化** - **指令指针变化**:执行下列指令序列后,IP寄存器被修改了4次。第一次是在CPU读取“mov ax, bx”指令之后,第二次在CPU读取“sub ax, ax”之后,第三次在CPU读取“jmp ax”之后,第四次在CPU执行完“mov ax, bx”之后。最终,IP寄存器中的值为0。 #### 四、内存操作与显示控制 **知识点9:内存读写操作** - **ROM区域**:内存地址FFF00H~FFFFFH为ROM区域,内容可读但不可写。 - **显存地址空间**:8086的显存地址空间是A0000H~BFFFFH,其中B8000H~BFFFFH为80*25彩色字符模式显示缓冲区。当向该地址空间写入数据时,这些数据会立即出现在显示器上。 以上是对《汇编语言_第二版_王爽》书中提到的部分知识点进行的详细解析,涵盖了从基本概念到具体指令操作等多个方面,旨在帮助读者更好地理解汇编语言的基本原理及其实现细节。
剩余61页未读,继续阅读
- qq_265901152015-03-18无语,怎么还有略。题目真的很难吗?不过还是谢谢免费分享
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助