疯狂的暑假学习之 汇编入门学习笔记 (十二)—— int指令、端口
参考: 《汇编语言》 王爽 第13、14章
一、int指令
1. int指令引发的中断
int n指令,相当于引发一个n号中断。
执行过程相当于:
(1)取中断类型吗n。
(2)标志寄存器入栈;设置IF=0,TF=0。
(3)CS,IP入栈
(4)(IP)=(n*4),(CS)=(n*4+2)
例子1:编写、安装中断7ch,实现求一个word型数据的平方,用ax存放这个数据。...
分类:
其他好文 时间:
2014-07-21 23:37:53
阅读次数:
324
阅读导航本系列其他文章目录请戳这里。1.机器语言>汇编语言>高级语言语言是人与人的一种交流工具,就比如我现在用汉语来写这篇博文来交流探讨技术问题;程序设计语言也是如此,只是交流对象不是人而是机器。我可以用汉语来写博文,也可以用英语来写(假如我英语熟练);我可以用PHP来写一个网站,也可以用ASP.N...
分类:
其他好文 时间:
2014-07-20 22:01:46
阅读次数:
316
1. 函数调用的原理:通过函数名(函数的入口地址)对函数进行访问,假设我们能够改变函数首地址指向的内存的话,使其跳转到另一个函数去执行的话,那么就可以实现函数打桩了。
2. 方法:对函数首地址出写入一条汇编语言 jmp xxx (其中xxx是要跳转的相对地址)。
3. 令原函数为oldFun,新函数为newFun,那么打桩时函数跳转的相对地址 offset = newFun - oldFun - (我们制定的这条指令的大小),此处为绝对跳转指令的长度=5。 jmp xxx一共6字节。...
疯狂的暑假学习之 汇编入门学习笔记 (十一)—— 内中段
参考: 《汇编语言》 王爽 第12章
中断是指CPU在执行完当前指令后收到某种信息(中断信息),就不在接向下执行,而去对接收到的信息进行处理。中断信息又可以来自CPU内部和外部,分内中断,外中断。
1. 内中断的产生
下面4中情况会产生内中断:
(1)除法错误。如:div除法溢出
(2)单步执行。如debug中的单步调试
(3)执行into指令。
(4)执行int指令...
分类:
其他好文 时间:
2014-07-19 02:28:05
阅读次数:
253
action操作actionoriented面向操作AdaprogramminglanguageAda编程语言"administrative"sectionofthecomputer计算机的”管理“部分arithmeticandlogicunit算术逻辑单元(ALU)ARPAnet阿帕网assembler汇编器assemblylanguage汇编语言association关联attributeofaclass类的属性ban..
分类:
Web程序 时间:
2014-07-19 02:17:45
阅读次数:
226
疯狂的暑假学习之 汇编入门学习笔记 (十)—— 标志寄存器
参考: 《汇编语言》 王爽 第11章
CPU内部有一种特殊的寄存器叫标志寄存器(flag),它与ax,bx,cx等其他寄存器不同,它不是用来存放数据的,而是用来存放状态的。flag寄存器是按位器作用的,即只有0和1。...
分类:
其他好文 时间:
2014-07-19 02:14:55
阅读次数:
256
ARM汇编程序基本知识1.汇编程序的基本组成ARM汇编语言程序中,程序是以程序段为单位组织代码的。段是相对独立的指令或者代码序列,拥有特定的名称。段的种类有代码段、数据段和通用段,代 码段的内容为执行代码,数据段存放代码运行时需要用到的数据,通用段不包含用户代码和数据,所有通用段共用一个空间。段使用...
分类:
其他好文 时间:
2014-07-18 20:31:57
阅读次数:
301
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27366485题目描写叙述:汇编语言中有一种移位指令叫做循环左移(ROL),如今有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。...
分类:
其他好文 时间:
2014-07-17 23:15:41
阅读次数:
280
《软硬件接口》课程大纲
Coursera课程 The Hardware/Software Interface是华盛顿大学提供的一门课程,其中汇编语言、进程结构、Java实现等章节内容我认为对于学编程的同学来说非常有用。教学环境是Fedora,顺带介绍了一些常用工具的使用。
课程大纲
这门课程将会让学生知道当软件运行时到底发生了什么,并说明这个问题可以通过硬件架构层、汇编层、C语言层和...
分类:
其他好文 时间:
2014-07-16 14:46:28
阅读次数:
249
疯狂的暑假学习之 汇编入门学习笔记 (九)—— call和ret
参考: 《汇编语言》 王爽 第10章
call和ret都是转移指令。
1. ret和retf
ret指令:用栈中的数据,修改IP内容,从而实现近转移
相当于:
pop ip
retf指令:用栈中的数据,修改CS和IP,从而实现远转移
相当于:
pop ip
pop cs
例子:ret
assume cs:code,ss:stack
stack segment
db 16 dup(1)
stack ends
code seg...
分类:
其他好文 时间:
2014-07-16 10:32:37
阅读次数:
267