我们老师给的2009年汇编期中考试试题
需积分: 0 107 浏览量
更新于2009-07-03
收藏 53KB DOC 举报
汇编语言是计算机科学中的一个重要领域,它是一种低级编程语言,允许程序员直接控制硬件系统。在2009年的汇编期中考试试题中,涉及了多个关于8086汇编语言的关键知识点,包括寻址方式、物理地址计算、段地址与偏移地址的关系以及特定指令的使用。下面是对这些知识点的详细解释:
1. **寻址方式**:
- **立即寻址**:数值直接写在指令中,如`mov bx, 2002h`。
- **直接寻址**:数值作为地址,直接指向内存单元,如`mov bx, [2002h]`。
- **寄存器寻址**:操作数在CPU的寄存器中,如`mov ax, ax`。
- **寄存器间接寻址**:通过寄存器访问内存,如`mov ax, [bx]`。可用的寄存器包括BP、BX、SI、DI和SP,但CS和IP不能用于寄存器间接寻址。
2. **物理地址计算**:
- 在8086处理器中,物理地址由段地址左移4位(相当于乘以16)加上偏移地址计算得出。例如,如果DS=5788H,偏移地址为94H,物理地址为57914H。
3. **段寄存器的作用**:
- **CS(代码段)**:存储程序的机器码。
- **DS(数据段)**:通常用来存储程序的数据。
- **SS(堆栈段)**:存储堆栈数据,如函数调用的参数和返回地址。
- **ES(附加段)**:可选的附加数据段,用于扩展存储。
4. **特定指令的使用**:
- `push`和`pop`:分别用于将数据压入堆栈和从堆栈弹出数据,如`push bx`和`popf`。
- `mov`:移动数据,可以用于寄存器之间、寄存器到内存、内存到寄存器等,如`mov ax, 1234h`。
- `les`:加载有效地址,将内存中的数据加载到指定寄存器和段寄存器,如`les si, [1000h]`。
- `out`:输出数据到I/O端口,如`out dx, ax`。
- `sub`、`sbb`、`add`、`adc`:执行减法、带借位减法、加法和带进位加法操作。
- `idiv`:整数除法,如`idiv bxc`。
5. **段超越前缀**:
- `es:`前缀指示数据存放在附加段中,如`mov ax, es:wnum[bx][si]`。
6. **指令的寻址方式判断**:
- 对于`mov ax, [sp]`,这是寄存器间接寻址,因为SP是可以作为基址的寄存器。
- 对于`mov ax, sp`,这是寄存器寻址,直接将SP的值放入AX。
- 对于`mov ax, [si]`,这是寄存器间接寻址。
- 对于`mov ax, si`,这是寄存器寻址,直接将SI的值放入AX。
7. **指令错误判断**:
- `mov bx, [bp+si]`是正确的,因为BP和SI可以作为基址和变址寄存器。
- `mov bx, [cs+si]`是错误的,因为CS不能作为基址寄存器。
- `mov bx, [bx+ax]`是错误的,因为AX不是合法的变址寄存器。
8. **源操作数的物理地址计算**:
- `mov ax, es:wnum[bx][si]`中的源操作数物理地址是`16 * ES + BX + SI + wnum`。
9. **其他指令的正确性判断**:
- `mov byte ptr[bx], 1000`:错误,因为立即数1000超过了一个字节的范围。
- `mov ip, ax`:错误,IP不能被直接赋值。
- `mov ax, [sp]`:正确,寄存器间接寻址。
- `mov ax, [si][di]`:错误,连续的两个方括号不合法,应只有一个方括号。
- `mov ds, ss`:错误,段寄存器之间不能直接赋值。
- `mov al, ffh`:正确,将立即数FFh放入AL寄存器。
以上是对试卷中涉及到的汇编语言基本概念和指令操作的详细解析,这些知识对于理解汇编语言程序设计至关重要。学习和掌握这些知识点有助于编写和调试底层的计算机程序。
katelly
- 粉丝: 0
- 资源: 2
最新资源
- 基于springboot扶贫助农系统设计与实现源码(java毕业设计完整源码+LW).zip
- python入门的基础知识
- 功能描述: 本系统由STM32单片机核心板、交流电压电流检测模块、WIFI模块、指示灯组成 1、220V市电经过互感器后产生微弱交流电,经过整流滤波后变为直流,然后通过单片机AD转,然后算出
- python入门指南:环境搭建、基础语法与进阶应用
- 基于spring boot护肤品推荐系统的设计与实现源码(java毕业设计完整源码).zip
- 基于spring boot框架药品购买系统源码(java毕业设计完整源码).zip
- 声音数字化入门:基本概念、过程与应用
- 伺服电机控制工程 伺服电机开发实例 modbus开发源码C# winform位置模式力矩模式 本工程源码编译环境是visual studio (最好采用2013以上版本),编写语言是C# ,winfo
- 电商用户行为数据集.zip
- 基于springboot的交通旅游订票系统源码(java毕业设计完整源码+LW).zip
- 机械设计销钉自动送料压装设备sw2017全套设计资料100%好用.zip
- 机械设计小芯轴自动折弯机sw18可编辑全套设计资料100%好用.zip
- FX5U和je-C伺服通讯案例和学习资料,绝无仅有 物超所值
- 基于Spring Boot的企业员工管理设计与实现源码(java毕业设计完整源码).zip
- python代码入门 (资料备份).zip
- 免费SharedLibrary-C#