随笔分类 -  汇编语言

摘要:int指令: 格式: int n 其中n为中断码,它的功能是引发中断,并调用中断程序(类似call指令,但int大多调用内置中断程序,由BIOS或者DOS提供;两者都与iret配合使用,可以互相转换)。 执行过程如下: 取中断类型码n 标志寄存器入栈,置IF = 0,TF = 0 CS、IP依次入栈 阅读全文
posted @ 2021-11-02 23:56 海萌萌萌萌萌萌 阅读(928) 评论(0) 推荐(0)
摘要:中断信息,可以理解为更紧急、需要优先处理的信息,在执行指令过程中接收到中断信息,CPU会优先处理,而不是继续向下执行。 例如你正在刷抖音,厨房着火了你应该先去灭火而不是继续刷下一条抖音。 那么对于CPU而言,什么是需要优先处理的中断信息呢?有以下四种 除法错误。除数为0或者除法溢出 单步执行。deb 阅读全文
posted @ 2021-10-27 23:26 海萌萌萌萌萌萌 阅读(142) 评论(0) 推荐(0)
摘要:标志寄存器 flag 标志寄存器只有一个,16位,有9个标志位,剩余7个位置默认为0,未被使用。 0-CF (carry flag进位标志) (CY: CF = 1; NC:CF = 0)(carry、no carry)判断过程是否有进位或者借位,cf = 1表示有进位或借位,cf = 0表示没有。 阅读全文
posted @ 2021-10-26 22:38 海萌萌萌萌萌萌 阅读(705) 评论(0) 推荐(0)
摘要:call和ret指令都是转移指令,它们都修改IP,或同时修改IP和CS ret和retf: ret指令使用栈中数据,修改IP内容,实现近转移。进行两步操作:(1)(IP)= ((ss) * 16 + (sp)) (2) (sp) = (sp) + 2 等价于 pop IP retf指令使用栈中数据, 阅读全文
posted @ 2021-10-24 22:29 海萌萌萌萌萌萌 阅读(974) 评论(0) 推荐(0)
摘要:转移指令: 可以修改IP,或者同时修改CS和IP的指令 称为转移指令。 只修改IP时,称为段内转移,段内转移根据IP的修改范围又分为短转移(short)和近转移(near);短转移IP的修改范围为8位补码表示的范围:-128~127.近转移IP的修改范围为16位补码表示的范围:-32768~3276 阅读全文
posted @ 2021-10-24 15:45 海萌萌萌萌萌萌 阅读(675) 评论(0) 推荐(0)
摘要:处理数据时有两个基本问题: 处理的数据存储在什么地方? 处理的数据有多长?字节、字还是双字? 寄存器bx、bp、di、si,只有这四个寄存器可以用于寄存器间接寻址,它们之间可以特定组合。 用不太标准的语言来说,bx和bp是同一等级,di和si是同一等级且比bx、bp低一级,bx和bp不能同时使用,d 阅读全文
posted @ 2021-10-18 23:27 海萌萌萌萌萌萌 阅读(209) 评论(0) 推荐(0)
摘要:CPU结构: 一典型的CPU主要有寄存器、运算器、控制器等器件构成,它们通过内部总线相连,进行数据传输。第一章中的总线相应为(CPU的)外部总线。 寄存器进行信息存储; 运算器进行信息处理; 控制器控制各种器件进行工作。 8086是16位结构的CPU,这说明: 寄存器的最大宽度为16位; 运算器一次 阅读全文
posted @ 2021-10-06 23:24 海萌萌萌萌萌萌 阅读(915) 评论(0) 推荐(0)
摘要:电子计算机的是电气时代发展到极致的产物,从底层逻辑来说,计算机只能够接收或者发出电信号,也就是一系列的高低电平。 计算机只能够直接识别机器语言,但是机器语言太过复杂不便于使用,人们又发明了汇编语言,再后来又有了各种高级语言。 输入汇编指令 → 编译器将汇编指令翻译成机器码 → 计算机识别机器码并作出 阅读全文
posted @ 2021-10-06 22:14 海萌萌萌萌萌萌 阅读(223) 评论(0) 推荐(0)