汇编语言有哪些一道题?

汇编语言有哪些中堆栈的操作有專门的语句指令

以上程序段将一个压缩BCD码转换为十六进制。

保护数据用就是将DS AX 里的数据先暂存在堆栈里,这就是入栈(指令为PUSH)然后,可以对它们进行操作而不会影响原来的数据到需要原来的数据时,再出栈(POP)

对于现代的计算机来说,栈是一种非常关键、极其重要嘚数据结构

栈就相当于一个细长的装弹珠的瓶子(瓶口、瓶身内部截面均只能通过一个弹珠),不同颜色的弹珠只能从瓶口装入也只能从瓶口取出,在瓶内的弹珠的顺序是不能改变的这些弹珠具有“先进后出、后进先出”的特性。瓶子有一定的长度装满弹珠后就不能再装了,再装就直接滚跑了(溢出)

程序不都是线性的,有分支、有循环有主程序、也有子程序。在子程序中栈通常用来保存现場(进栈--push、pusha、pushf),在栈中定义局部变量执行完成后要恢复现场(出栈--popf、popa、pop)。没有栈这种数据结构很难想象现在的软件是个什么样子。

用汇编语言有哪些(masm)编写程序段,实现从键盘输入十个一位10进制数后累加以非压缩BCD码形式存放在AH和AL中

daa ; 十进制加法调整指令

; 将要显礻的数据放入AL中

; 输入的数据以一个空格分隔,以回车符结束输入

请注意inputnum子程序在开始部分执行了 push ax,就是为了保存寄存器ax的值因为在int 21H中斷子程序中要用ax进行入口参数设置。

用于缓存数据保护寄存器或者进行寄存器与寄存器间数据传输。而且有些寄存器的值只能通过堆栈操作完成比如程序寄存器的值CS只能通过堆栈操作完成读取:

也用于子函数(子例程,通过Call指令调用)的参数传递。

.... ; 进行相关功能操作

POP入栈是把數据压入栈段中;PUSH出栈是把数据从栈段中拿出来;入栈与出栈是遵循先进后出的原则!入栈出栈其实是个临时存储数据作用!SS指向栈段的段地址SP指向栈段的顶端。

希望我的回答对您有帮助呵呵!

}

如果用加CX的方法程序就更简单。

你对这个回答的评价是

前两个写的已经非常好了。我就写个比较特别的吧。

本回答被提问者和网友采纳

你对这个回答的评价是?

伱对这个回答的评价是

你对这个回答的评价是?

}

我要回帖

更多关于 汇编语言有哪些 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信