汇编语言程序的上机过程及调试(汇编语言源程序编写和堆栈平衡)
汇编语言程序的上机过程及调试(汇编语言源程序编写和堆栈平衡)
2024-11-05 06:31:20  作者:藏一人  网址:https://m.xinb2b.cn/life/cpx528561.html
汇编语言 第一个程序


源程序从写出到执行的过程第一步:编写汇编源程序产生一个存储源程序的文本文件第二步:对源程序进行编译链接编译 产生目标文件链接 产生可执行文件第三步:执行可执行文件操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载到内存,并进行相关初始化,比如,设置CS:IP指向第一条要执行的命令,然后由CPU执行相关操作。伪指令汇编语言源程序中,包括两种指令,一种是伪指令,一种是汇编指令。汇编指令是有对应机器码的指令,可以被编译为机器码的指令,最终由CPU所执行。伪指令没有对应的机器码指令,CPU不会执行,编译器根据伪指令进行相关编译工作。定义一个段 XXXX segment XXXX ends程序返回一个程序P2在可执行文件中,必须有一个正在运行的程序P1,将P2从可执行文件加载入内存后,将CPU的控制权交给P2,P2运行后,P1暂停运行。当P2运行完毕后,将P2的控制权交还给P1,P1继续运行。mov ax,4c00H int 21H执行1.exe时,command将1.exe中的程序加载如内存。command设置CPU的CS:IP指向程序的第一条指令(即程序的入口),运行程序。程序运行结束之后,返回command,CPU继续运行command。编译和链接


段前缀PSP


PSP:DOS要利用PSP段前缀和被加载的程序进行通信。

bx偏移地址mov ax,[bx]mov al,[bx]loop循环指令(cx)=(cx)-1判断(cx),不为零则转至标号处执行,如果是零则向下执行段前缀

用于显式的指明内存单元的段地址。

mov ax,ds:[bx]mov ax,cs:[bx]mov ax,ss:[bx]mov ax,es:[bx]debug和masm对指令的不同处理debug将 mov ax,[0] 中的 [0] 解释成内存单元,而masm汇编源程序将其解释成 0解决方案:使用bx或者显示给出段寄存器一段安全的空间

在8086模式中,随意向一段内存空间写入内容是很危险的,因为这段空间可能存放着重要的系统数据或代码。

assume cs:codecode segmentstart:mov ax,0 mov ds,ax mov ds:[26h],ax mov ax,4c00h int 21hcode endsend start


练习

计算 ffff:0006 单元中的数乘以123,结果存储在dx中。

汇编源程序中,数字不能以字母开头跳出循环g IP

assume cs:codecode segment mov ax,0ffffH mov ds,ax mov bx,6 mov al,[bx] mov ah,0 mov dx,0 mov cx,123 s:add dx,ax loop s mov ax,4c00H int 21Hcode endsend

数据放在什么位置?之前的程序中只有一个代码段,那么数据应该存放在什么位置?为了保证数据安全,0:200 ~ 0:2FF是相对安全的,但是这段空间容量只有256个字节,如果超出这个限制,数据应当如何存放?数据段


assume cs:codecode segment ; define word dw 0123H, 0456H, 0789H, 0abcH, 0defH, 0fedH, 0cbaH, 0987Hstart:mov bx,0 mov ax,0 mov cx,8 s:add ax,cs:[bx] add bx,2 loop s mov ax,4c00H int 21Hcode endsend start

call指令

当CPU执行 call 标号时,相当于进行:

push IPjmp near ptr 标号

当CPU执行 call far ptr 标号时,相当于进行:

push CSpush IPjmp far ptr 标号ret和retf指令ret:pop IPretf: pop IP pop CS堆栈平衡EBP栈底指针ESP栈顶指针进入call前与执行call后EBP和ESP的值不变push ebp:相当于 sub,esp,4 和 mov [esp],ebppop ebp:相当于 mov ebp,[esp] 和 add esp, 4补充指令

XCHG

交换指令只可以在寄存器之间、寄存器与存储器之间进行两个操作数长度必须相等例如:XCHG AX,BX

NOT

取反指令,
  • 雅马哈r6有多猛(被称为国产雅马哈R6)
  • 2024-11-06被称为国产雅马哈R6说起雅马哈R6,相信很多车友都比较熟悉,它是国内仅次于雅马哈R1的一款车型,但是雅马哈R6的亲民程度要比雅马哈R1好一些,毕竟雅马哈R6的操控难度要比R1小很多但无奈雅马哈R6的进口价格也是非常高昂的。
  • 靳东的形象怎么改变(文艺演技派男神)
  • 2024-11-06文艺演技派男神最近,要说站在娱乐圈风口浪尖的人物,那非靳东莫属!靳东、金星、王凯等关键词频频等上微博、百度、网易的热搜词条中小编点进热搜一看,并经过几天的潜水观察,发现事情并不简单……事件的起因是这样的,“娱乐圈纪。
  • 污点修复画笔工具在ps里找不到了(30PS教程)
  • 2024-11-0630PS教程污点修复画笔工具是Photoshop中处理照片常用的工具之一利用污点修复画笔工具可以快速移去照片中的污点和其他不理想部分在使用污点修复画笔工具时,不需要定义原点,只需要确定需要修复的图像位置,调整好画。
  • 张嘉益自己以前的(以生活流的逻辑细密编织角色的性格网络)
  • 2024-11-06以生活流的逻辑细密编织角色的性格网络《山海情》剧照独孤岛主岁末年初,随着讲述大众生活的口碑剧集《装台》与《山海情》的播出,张嘉益在经历了非凡之年的中国观众的视野里又获得了较高的关注度平心而论,张嘉益在荧屏上的存在感,不是三天两头密集出镜。
  • 写给老公的感动语录(写给老公最温暖的话)
  • 2024-11-06写给老公最温暖的话1、从心爱你,从感觉爱你,从说话及目光中爱你,从嘴角吻你,从肩膀吻你,从熟睡中记起,抱着你,呵护你2、漫天的雪花是飞舞的蝴蝶,采集着思念的芬芳,传递着祝福的花香,带你进入甜蜜梦乡,祝你好人一生平安!3。
  • 小沈阳演员现状如何(小沈阳背后的女人)
  • 2024-11-06小沈阳背后的女人沉寂了一段时间的小沈阳,因为一档节目,又让大家燃起了对他的喜爱,还记得当初09年的春晚,小沈阳因模仿明星唱歌而一夜爆红,如今的他参加歌唱节目《跨界歌王》,做为小品演员的他表现实在不俗,甚至让大家对他很。
  • 历史人物对孟尝君评价(孟尝君合理使用)
  • 2024-11-06孟尝君合理使用孟尝君这个世界上,有人总是带着上帝视角,俯视众生,历数他人的不对,看到了他人无数的缺点实际上,不管是谁,不管他是恶贯满盈,还是无恶不作,总有那么一些可取之处,关键是,有没有人能够发现,有没有人能够发挥。
  • 金庸小说中的姓氏(金庸笔下有个姓氏只有三个人)
  • 2024-11-06金庸笔下有个姓氏只有三个人有华人的地方就有金庸小说,对于很多小伙伴来说,大家都是读着金庸小说,看着金庸武侠剧长大的,对于金庸小说一点不陌生我们都很清楚金庸先生一共写了十五部武侠小说,在这十五部小说中,名字何止上千,可是在读金庸。
  • 懒人系蝴蝶结鞋带的方法(懒人系蝴蝶结鞋带有什么方法)
  • 2024-11-06懒人系蝴蝶结鞋带有什么方法两手伸出食指和拇指,左手顺时针、右手倒时针分别把带围着两指打个圈左右手相对,食指分别勾住别另一只手的带,两手一拉分别把两手的两条带重叠(有头的那边长些),把带子交叉,好像打普通结那样把下面的带子穿过“。
  • 伤寒论和温病条辨(伤寒论治疗温病之我见)
  • 2024-11-06伤寒论治疗温病之我见伤寒论仲景先师在太阳病篇是这样描述的:“太阳病,发热而渴,不恶寒者为温病若发汗已,身灼热者,名风温风温为病脉阴阳具浮,自汗出,身重,多眠睡,鼻息必鼾,语言难出……”但是先师并没有明确用什么方,所以后人。