随笔分类 - 汇编
摘要:寄存器冲突问题,解决方案:在子程序的开始将子程序中所有用到的寄存器中的内容都保存起来,在子程序返回前再恢复。可以用栈来保存寄存器中的内容。以后,我们编写子程序的标准框架如下:子程序开始:子程序中使用的寄存器入栈 子程序内容 子程序中使用的寄存器出栈 返回(ret、ret...
阅读全文
posted @ 2014-10-11 16:33
为自由奋斗
摘要:ret指令,相当于 pop IP;修改IP的内容,从而实现近转移retf指令,相当于 pop IP pop CS;修改CS和IP的内容,从而实现远转移--------------CPU执行call指令时,进行两步操作:1、将当前的IP或者CS和IP压入栈中;2、转移call指...
阅读全文
posted @ 2014-10-09 20:08
为自由奋斗
摘要:段内转移:短转移:jmp short 标号 (IP)=(IP)+8位位移,位移范围-128~127近转移:jmp near ptr 标号 (IP)=(IP)+16位位移,位移范围-32768~32767jmp 16位reg (IP)=(16位reg)jmp word ptr 内存单元地址 ...
阅读全文
posted @ 2014-10-09 18:07
为自由奋斗
摘要:原文地址:http://blog.csdn.net/yihuiworld/article/details/7533335#comments程序如何执行: CPU先找到程序在内存中的入口地址 -- 地址总线 (8086有20根地址总线,每一根可以某一时传0或1, 20位的二进制数字可以表示的不同的数字...
阅读全文
posted @ 2014-10-07 15:58
为自由奋斗
摘要:原文地址:http://blog.csdn.net/jiuyueguang/article/details/9350793
阅读全文
posted @ 2014-10-07 15:49
为自由奋斗
摘要:原文地址: http://www.cnblogs.com/dennisOne☞8086CPU转移指令分类无条件转移指令(如:jmp)条件转移指令循环指令(如:loop)过程中断 ☞操作符offsetoffset在汇编语言中是由汇编器处理的符号,它的功能是取标号的偏移地址。 ☞jmp指令类型功能示例j...
阅读全文
posted @ 2014-10-07 11:25
为自由奋斗
摘要:转载地址:http://www.cnblogs.com/dennisOne☞模块化程序设计模块化程序设计汇编语言通过call和ret指令实现了模块化程序设计。可以实现多个相互联系、功能独立的子程序来解决一个复杂的问题。子程序的框架 1 assume cs:code 2 code segment 3 ...
阅读全文
posted @ 2014-10-07 11:22
为自由奋斗
摘要:CALL 指令在实现转移之前, 要将返回地址存入堆栈的, 以便子程可以通过 ret 指令返回到 CALL 指令下面的指令接着运行; jmp 就没用这些事儿, 直接过去就过去了, 以后的执行流程全由那里的说了算. 当然了, 一些特殊的执行流程控制技巧除外.call == ...
阅读全文
posted @ 2014-09-23 12:26
为自由奋斗
摘要:原文:http://www.cnblogs.com/ynwlgh/archive/2011/12/12/2285017.html----------很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解:例如:需要键盘输入,并且回显。AH的值...
阅读全文
posted @ 2014-09-22 17:10
为自由奋斗
摘要:原文资料:http://www.cnblogs.com/ASPNET2008/archive/2009/04/29/1446471.html---------------------负数:原码就是原来的表示方法反码是除符号位(最高位)外取反补码=反码+1--------------------以前学...
阅读全文
posted @ 2014-09-22 11:52
为自由奋斗
摘要:从ASCII码的二进制形式来看,除第5位(位数从0开始计算)外,大写字母和小写字母的其他各位都一样。大写字母ASCII码的第5位为0,小写字母的第5位为1;这样就可以使用汇编中的and、or指令来处理大小写字母;and指令:通过该指令可将操作对象的相应位设为0,其他位不变;例子:and al,110...
阅读全文
posted @ 2014-09-12 11:06
为自由奋斗
摘要:原文地址:http://blog.sina.com.cn/s/blog_6035432c0100fz1k.html-----------DEBUG命令调试汇编语言程序一.如何启动debug命令?在运行栏里键入:debug如果不出现黑色命令窗口。则键入:c:/windows/system32/debu...
阅读全文
posted @ 2014-09-12 10:53
为自由奋斗
摘要:原文:http://suishoujie.blog.163.com/blog/static/60628058200841552235617/十六进制、十进制、二进制转换:十进制转二进制方法:8421法例如:把10010110转换成十进制 128 64 32 16 8 4 2 1 1 0 0 1 0 ...
阅读全文
posted @ 2014-06-20 11:46
为自由奋斗

浙公网安备 33010602011771号