摘要:
1. int指令 n int格式: int n,n为中断类型码。它的功能是引发中断过程。 n CPU 执行int n指令,相当于引发一个 n号中断的中断过程,执行过程如下: n (1)取中断类型码n; n (2)标志寄存器入栈,IF = 0,TF = 0; n (3)CS、IP入栈; n (4)(IP) ... 阅读全文
摘要:
1. int指令 n int格式: int n,n为中断类型码。它的功能是引发中断过程。 n CPU 执行int n指令,相当于引发一个 n号中断的中断过程,执行过程如下: n (1)取中断类型码n; n (2)标志寄存器入栈,IF = 0,TF = 0; n (3)CS、IP入栈; n (4)(IP) ... 阅读全文
摘要:
中断的意思是指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。中断的信息有可能来自cpu内部,也有可能是外部。我们先来讨论内中断的情况。 1. 内中断的产生 n 当CPU 的内部有什么事情发生的时候,将产生需要马上处理的中断信息呢? n 对于8086CPU,当内部有下面情况发生的时候,将产生中断信息: n 1、除法错误,比如:执行div指令... 阅读全文
摘要:
n 8086CPU的flag寄存器的结构: n flag的1、3、5、12、13、14、15位在8086CPU中没有使用,不具有任何含义。而0、2、4、6、7、8、9、10、11位都具有特殊的含义 1.ZF标志 n flag的第6位是ZF,零标志位。 它记录相关指令执行后, n 结果为0 ,ZF = 1 n 结果不为0... 阅读全文
摘要:
一.ret指令用栈中的数据,修改IP的内容,从而实现近转移; CPU执行ret指令时,进行下面两步操作: a) (1)(IP)=((ss)*16+(sp)) b) (2)(sp)=(sp)+2 二.retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移; CPU执行retf指令时,进行下面两步操作: a) (1)(IP)=((ss)*1... 阅读全文
摘要:
n bx、si、di、bp n 机器指令处理的数据所在位置 n 汇编语言中数据位置的表达 n 寻址方式 n 指令要处理的数据有多长? n 寻址方式的综合应用 n div 指令 n 伪指令 dd n Dup 下面我们来一步步阐述: 1.bx、si、di、bp 这4个寄存器(bx、bp、si、d... 阅读全文
摘要:
要理解ret,retf,call指令,必须要先理清以下汇编基础知识: 一. [bx]和内存单元 [bx]是什么呢? 和[0]有些类似,[0]表示内存单元,它的偏移地址是0。 n 我们要完整地描述一个内存单元,需要两种信息: n (1)内存单元的地址; n (2)内存单元的长度(类型)。 n 我们用[0]表示一... 阅读全文