鱼C论坛

 找回密码
 立即注册
查看: 3073|回复: 4

[学习笔记] 《零基础入门学习汇编语言》第三十讲

[复制链接]
发表于 2017-7-14 23:44:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shuiyu 于 2017-7-15 22:39 编辑

首先先道歉,对不起!对不起!!对不起!!!

因为这两天感冒发烧了,而且还在打着暑假工;只有晚上有时间,但是这两天下班回来发烧一直反复都39.5度了;所以我断更了
现在先更新今天的,欠着的等我那天休息了补回来 (PS:2017.7.12与2017.7.13这两天的任务没完成


越努力,越幸运。欢迎大家来看我的笔记 小白刚学,不对的请各位大佬指正,谢谢

一、在代码段中使用栈(复习一下
(1)我们首先要有一段可当作栈的内存空间。如前所述,这段空间应该由系统来分配。我们可以在程序中通过定义数据来取得一段空间,然后将这段空间当作栈空间来用。
(2)栈:记住以下两点应该差不多了
1.任意时刻,SS:SP指向栈顶元素。
2.出栈(push):减2。        入栈(pop): 加2。寄存器出栈的顺序要和入栈的顺序相反。
(3)dw和db:dw为定义字型数据(十六位),db为定义字节型数据(八位)。


二、将数据、代码、栈放入不同的段
1.PNG

PS:发现一个小问题,就是用LOOP S实现循环的时候,在同一个源程序中;可以有多个循环,只要把S改成不重复的就好了(S0,S1,S2....)



(1)我们应该考虑用多个段来存放数据、代码和栈。这样思路可以更清晰,共同放在一个段了的确有点绕了。
(2)怎样做呢?
1.程序中“data”段中的数据“0abch”的地址就是:data:6。(因为是字型数据十六位的,故占两个内存单元)
2.我们要将它送入bx中,就要用如下的代码:
         mov ax,data
         mov ds,ax
         mov bx,ds:[6]
   我们不能用下面的指令:
         mov ds,data         
         mov ax,ds:[6]
其中指令“mov ds,data” 是错误的,因为8086CPU不允许将一个数值直接送入段寄存器中(只能通用寄存器哦AX、BX、CX、DX)
3.“代码段”、“数据段”、“栈段”完全是我们的安排。

(3)
CPU如何知道去执行它们?(用C语言来讲就是:把start放在主函数也就是main函数开始的地方)
我们在源程序的最后用“end start”说明了程序的入口,这个入口将被写入可执行文件的描述信息,可执行文件中的程序被加载入内存后,CPU的CS:IP被设置指向这个入口,从而开始执行程序中的第一条指令。标号“start”在“code”段中,这样CPU就将code段中的内容当作指令来执行了。


(4)总之,CPU到底如何处理我们定义的段中的内容,是当作指令执行,当作数据访问,还是当作栈空间,完全是靠程序中具体的汇编指令,和汇编指令对CS:IP、SS:SP、DS等寄存器的设置来决定的。

谢谢小甲鱼带来的视频教程,感谢!!    

本节结束,多谢览阅!
越努力,越幸运。谢谢大家来看我的笔记 小白刚学,不对的请各位大佬指教,谢谢

评分

参与人数 1荣誉 +6 鱼币 +6 收起 理由
小甲鱼 + 6 + 6 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-14 23:53:33 | 显示全部楼层
注意休息哈,越努力,越幸运!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-15 12:07:03 | 显示全部楼层
支持楼主!注意身体!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-15 22:35:12 | 显示全部楼层
小甲鱼 发表于 2017-7-14 23:53
注意休息哈,越努力,越幸运!

嗯嗯,谢谢小甲鱼我会加油的,越努力,越幸运!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-15 22:35:48 | 显示全部楼层
怡然1992 发表于 2017-7-15 12:07
支持楼主!注意身体!

谢谢谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 09:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表