上一节提到过两种传值方式,一种是通过寄存器传值,一种是通过全局内存变量来传值,如果每个函数都使用自己的规则来进行传值的话,在进行大型项目开发时,函数的相互沟通就会是个很大的问题...
很多高级编程语言都有函数的概念,函数的出现提高了代码的重利用率,相同功能的代码可以独立出来,在需要的时候直接调用就可以了,不需要再重新写一遍。汇编语言里同样可以定义和使用函数...
除了可以在内存之间拷贝字符串数据外,还可以将内存里的字符串值加载到寄存器,或者反向将寄存器里的值存储回内存位置。下面要介绍的STOS和LODS指令就可以实现这些功能...
很多高级编程语言都提供了和字符串操作相关的函数,在汇编里也提供了一些和字符串操作相关的指令,这些字符串操作指令除了可以用于普通的字符串操作外,还可以对内存块里连续的其他类型的数据进行...
要判断一个整数是否大于,等于或小于另一个整数,可以通过CMP指令,再加上EFLAGS寄存器里的各种标志来进行判断,但是,要比较两个浮点数的大小就没有这么简单,在FPU里提供了一些专门用于浮点数比较的指令...
上一篇介绍了浮点数的加减乘除运算指令,如果你的汇编程序是用于科学计算或者某些工程应用的话,就有必要了解更多的高级浮点运算指令...
上一篇介绍了FPU的寄存器结构,本篇就介绍和FPU浮点计算相关的加减乘除之类的基础运算指令...
之前的章节简单的介绍过FPU(浮点运算单元),在80486之前,是通过软件模拟或购买特殊的数学协处理器来处理浮点数的,在80486出现后,Intel处理器就内置了FPU浮点单元,下面就具体介绍下FPU的结构,...
前面的章节介绍过BCD码,虽然很多高级的BCD运算操作是在FPU中完成的,但是在处理器中也提供了一些可以完成简单的BCD码运算的指令...
类似于乘法运算,除法运算中无符号和有符号数的除法指令也是不同的。另外,除法运算的结果分为两部分:商和余数,下面就无符号整数和有符号整数的除法指令分别进行介绍...