疯狂的暑假学习之 汇编入门学习笔记 (八)—— 转移指令
参考: 《汇编语言》 王爽 第9章
可以修改ip或者同时修改cs和ip的指令统称为转移指令。
8086CPU转移行为分为:
段内转移:只修改ip
段间转移:同时修改cs和ip
段内转移按ip修改的范围可分为:
短转移:ip修改范围 -128~127
近转移:ip修改范围 -32768~32767
转移指令分为:
无条件转移指令。如 jmp
条件转移指令
循环指令。如 loop
过程。
中断。...
分类:
其他好文 时间:
2014-07-14 11:08:04
阅读次数:
206
折腾Linux系统,总免不了经常进行硬盘分区和系统安装,也总免不了要和各个版本的Windows系统组建多系统。更何况,主板的BIOS标准和硬盘分区的标准也总在变化。该文章不仅展示了传统的MBR硬盘分区安装Linux,也展示了最新的只支持EFI的主板和使用GPT分区的硬盘安装Linux,以及说明其基本...
分类:
系统相关 时间:
2014-07-13 19:54:36
阅读次数:
390
RESET中断的获取包必须位于0地址处,然后其他中断的获取包可以位于任何256字(1k字节边界)对齐的程序空间。IST的位置由ISTP寄存器中的ISTB字段决定。
IST重新定位举例:
1,将IST重新定位到800h:
将地址0h~200h的源IST拷贝到800h~A00h中;
将800h写到ISTP寄存器中:
MVK 800h,B2...
分类:
其他好文 时间:
2014-07-13 18:41:03
阅读次数:
279
中断服务表指针ISTP(Interrupt Service Table Pointer)寄存器用于定位中断服务程序的位置,即ISTP指明中断发生后去哪里找要执行的程序,ISTP就是指向IST表的寄存器。ISTP中的一个字段ISTB确定IST的地址基数部分;另一个字段HPEINT确定特定的中断并定位特定的取指包在IST中的位置。图6-4所示为ISTP的各字段,表6-2描述了各字段及其如何使用。
下...
分类:
其他好文 时间:
2014-07-13 18:07:22
阅读次数:
213
C66x DSP执行中断的简要流程:
1、使能了全局中断和子中断,如果硬件检测到中断发生,那么CPU就要跳转。
2、软件把CPU内部的A,B类寄存器的值等推入堆栈保存,把当前PC寄存器的值放入IRP/NRP寄存器中以备中断返回能找到当前被打断的位置。
3、CPU的PC指针读出中断向量表的地址,也就是把“ISTP寄存器的ISTB值+子中断向量偏移量”装入PC寄存器,这样就执行跳转。
4、在中...
分类:
其他好文 时间:
2014-07-13 17:59:56
阅读次数:
244
MCR指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。
指令的语法格式:
MCR{} p15, 0, , , {,}
MCR2 p15, 0, , , {,}
其中,为指令执行的条件码。当忽略时指令为无条件执行。MCR2中,为Ob1111,指令为无条件执行指令。
为协处理器将执行的操作的操作码。对于CP15协处理...
分类:
其他好文 时间:
2014-07-13 16:54:13
阅读次数:
181
系统event 0~127(包括了eventCombiner的输出event 0~3)与CPU支持的12个可屏蔽中断是通过INTMUX寄存器进行映射的(不包括NMI,RESET)。可以选择将系统event 0~127中的event通过INTMUX映射到某一个可屏蔽中断(INT4~15)。
TI C66x DSP每个CPU有3个INTMUX寄存器(INTMUX 1~3),下图中的Interrupt...
分类:
其他好文 时间:
2014-07-13 16:06:47
阅读次数:
220
当CPU开始处理一个中断(INT4~15)时,它将引用中断服务表(IST)。IST是一个获取包含中断服务代码的包的表。IST包含16个连续的获取包。每一个中断服务获取包(ISFP)包含最多14条指令(8个32bit nonheader-based 指令或者14个header-based
指令)。一个简单的中断服务程序可以放入一个独立的获取包中(也就是不用另外跳转到ISR了,14条指令足够了),若...
分类:
其他好文 时间:
2014-07-13 15:34:26
阅读次数:
195
拷贝大量文件时,用cp有诸多不便(例如命令意外中断后,无法续传;如果强行覆盖的话,又会浪费时间;不覆盖的话,倒是可以通过echo"n"|cp-r/source/destination来完成,但是经过我的实验,在大量文件下,传递n给cp的覆盖提示也会时间延迟,所以对于已经存在的文件同样存在时间..
分类:
其他好文 时间:
2014-07-13 14:30:31
阅读次数:
160
当我们拿到一台Android的智能手机,从打开开关,到我们可以使用其中的app时,这个启动过程到底是怎么样的?
系统上电
当给Android系统上电,CPU复位之后,程序指针会指向启动地址,从该地址读取启动程序的可执行代码直接运行,或者将可执行代码与数据载入CPU内置的RAM中再运行。
这一段代码,放在PC中,叫做BIOS,而在android等嵌入式系统中就叫做Bootloader。
Bootloader引导程序
通过Bootloader引导程序,可以初始化硬件设备,建立内存空间映射图,为操作系统内核...
分类:
移动开发 时间:
2014-07-13 14:05:34
阅读次数:
326