1. 8086/8088CPU 的通用寄存器包括:AX、BX、CX、DX、SI、DI、SP 和 BP。这些寄存器可以用于存储数据、地址和其他运算操作。
2. 8086/8088 的寻址方式有直接寻址、间接寻址、立即寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、相对寻址和段超越寻址等。
3. 在8086/8088微处理器中,能用做寄存器间接寻址的寄存器有BX(基址寄存器)、BP(基数指针寄存器)、SI(源变址寄存器)和DI(目的变址寄存器)。
4. 定义 VAR DB 3 DUP(0,1,2)表示VAR是一个字节数据区,重复三次,依次为0、1、2。因此,VAL存储区的前5个单元的数据是0、1、2、0、1。
5. 汇编语言程序的上机操作步骤通常包括:编写源程序、汇编源程序生成目标代码、链接目标代码生成可执行文件、运行程序并调试。
6. Intel 8086CPU 中,物理地址由段寄存器和有效地址相乘以16(因为每个段是16位,即2的4次方字节)然后加上有效地址计算得出。所以给定段寄存器3510H(转换为十进制是13526),有效地址4985H,物理地址为13526 * 16 + 4985 = 216557H。
7. 清零累加器AX的三种指令可以是:XOR AX, AX、OR AX, 0 或者 AND AX, 0。
8. 8086/8088CPU 的标志寄存器(FLAGS)中的控制标志位有:DF(方向标志)、IF(中断标志)、TF(陷阱标志);状态标志位有:CF(进位标志)、PF(奇偶标志)、AF(辅助进位标志)、ZF(零标志)、SF(符号标志)和OF(溢出标志)。
9. 给定程序段执行后,AX寄存器的内容是6,因为程序段加载了数组TAB的ENTRY(第三个元素)到AX。
10. 当SP初值为2000H时,执行"PUSH AX"会将AX的内容压入堆栈,SP的值减去2,变为1FFEH。
11. 下列指令执行后的AX寄存器内容:
- MOV AX, 1200H:AX = 1200H
- MOV AX, BX:假设BX不变,AX = 0100H
- MOV AX, [1200H]:读取内存地址21200H处的值,AX = 2AH
- MOV AX, [BX]:读取内存地址20100H处的值,AX = 12H
- MOV AX, 1100[BX]:读取内存地址21200H处的值,AX = 2AH
- MOV AX, [BX][SI]:根据BX和SI的值,读取内存地址21202H处的值,AX = B7H
- MOV AX, 1100[BX][SI]:不合法的寻址方式,因为1100H加上BX和SI的结果超出了实际内存范围。
12. 一般DOS系统功能调用的步骤包括:设置参数(通常是放入AX或DX寄存器)、执行INT n指令(n是DOS功能调用的中断号,如21H)、处理DOS的返回结果(检查AX或其他寄存器中的返回值)。