锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

第8章 加法减法指令(X86汇编教程)

时间:2024-05-12 12:07:11

X86汇编教程目录 http://www.51hei.com/mcu/2619.html
本章主要是加强学习对DEBUG的使用.所以真正学习新知识的部分可能少点.大部分是在复习.. 之前的一些东西.另外...上一章居然没人交作业!包括学习我的教程一向很努力的殇星君也因为迷上了某某游戏而只是转载下,没有仔细看......不过, 经过了几天,回复数量也勉强让我满意了(和空间里其它文章比起来).
这次,新教4条指令:
指令名:ADD
操作数数量 :2 操作数名 :目标操作数,源操作数 指令用途 :把2个操作数相加,和保存在目标操作数
指令名 :SUB 其余大多同ADD指令一样,有一点不同:此指令是减法指令

指令名:INC 操作数数量: 1 (注意,只有1个操作数!) 操作数名:目标操作数 指令用途 :把目标操作数+1,结果保存回目标操作数.

指令名 :DEC 其余大多同INC指令一样,有一点不同:此指令是把目标操作数减1

INC 和DEC指令虽然只做加1和减1的操作,但是只有1个操作数,并且计算过程变化不多,占用的内存少点,所以执行速度比ADD和SUB指令快很多,当然,这所谓的很多,连万分之一秒都没有...只有在每秒钟计算几亿次的情况下才能体验到.恩,对于高手来说,能快一点点都是很重要的. 好了,编写代码调试吧!我的代码: ORG 0100H MOV AX,5 MOV BX,3 ADD AX,BX SUB AX,BX INC AX DEC AX 至于怎么编译,第7章已经说过了.这里就不解释了...编译完成后,用DeBug导入调试吧!~
R指令查看状态,此时第一条指令还没执行,AX寄存器什么都没有,第一条指令是MOV AX,0005 ,也就是往AX寄存器写入数值5(见下图):


T指令执行一行代码,执行第一行代码,看,AX寄存器写入成功,接着是BX寄存器:


再次T指令,执行一行,好了,现在

AX=5

BX=3

接着就是本章讲的ADD指令了(见下图):


ADD,加法指令,ADD AX,BX 就是把AX和BX相加,结果保存到AX,原本的AX是5,BX是3,相加为8,看看下面对不对:


接着是SUB,减法指令,SUB AX,BX 就是从AX的值里减去BX的值,结果保存在AX里,AX原本是8,BX是3,SUB后...AX就是5了!(见下图):


接着是,INC指令了,这指令的机器码只有1个字节,也就是说读取这个指令只需要读取一字节内存就够了,操作数只有1个.AX,用途是把目标操作数的值加1然后保存回去,看看效果吧(见下图):


与INC对应的是DEC,用途...不解释,直接看下图:


本章就讲到这里了.差不多该讲解内存操作了.......

作业:编写一段程序,通过各种加减指令,让AX,BX,,DX寄存器最终值为100!

规则1:代码中不得出现超过10的数字!

规则2:必须4个指令都用到,ADD SUB INC DEC


作业提交邮箱:o7007@vip.qq.com


-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章