微机原理与接口技术:非组合BCD码除法与有符号扩展指令解析

需积分: 50 5 下载量 150 浏览量 更新于2024-08-21 收藏 936KB PPT 举报
"该资源主要介绍了微机原理与接口技术中的非组合BCD码除法调整指令(AAD)以及有符号扩展指令(CBW/CWD),并详细解析了这两种指令的功能和使用示例。同时,还涵盖了寻址方式的几个基本类型,包括立即数寻址、寄存器寻址、直接寻址和寄存器间接寻址,通过实例解释了每种寻址方式的用法和特点。" 以下是详细的知识点说明: 1. **非组合BCD码除法调整指令**: - AAD指令用于在进行除法运算前,将AX寄存器中的两位非组合BCD码转换为二进制数,以便后续的DIV指令能够正确处理。 - 示例中,AX初始值为0605H,执行AAD后变为0041H,接着执行DIV BL,得到商值AL=09,余数AH=02H。 2. **有符号扩展指令**: - CBW指令将AL中的8位有符号数扩展至AX的高8位AH,保持低8位AL不变,实现字节到字的有符号扩展。 - CWD指令则用于将AX中的16位有符号数扩展到DX寄存器,形成一个32位的有符号数,适用于需要进行16位除法的情况。 - 示例中,AL=12H执行CBW后,AX=0012H,AX=BBA3H执行CWD后,DX=FFFFH,AX仍为BBA3H。 3. **寻址方式**: - **立即数寻址**:操作数直接包含在指令中,如MOV AX,2004H,将2004H加载到AX。立即数可以是8位、16位或32位,只能作为源操作数。 - **寄存器寻址**:操作数位于通用寄存器中,例如MOV AX,BX将BX的内容移到AX。寄存器寻址常用于运算对象和中间结果的存储。 - **直接寻址**:操作数的地址直接写在指令中,如MOV AX,[1000H]。这种寻址方式可以直接访问内存中的数据。 - **寄存器间接寻址**:操作数地址在基址寄存器(BX, BP)或变址寄存器(SI, DI)中,如MOV AX,[SI]。根据不同的寄存器,操作数默认在不同的段。 这些知识点是微机原理学习的基础,理解并掌握它们对于理解和编写有效的汇编语言程序至关重要。