汇编语言程序的上机过程及调试(汇编语言源程序编写和堆栈平衡)
汇编语言程序的上机过程及调试(汇编语言源程序编写和堆栈平衡)
2024-11-24 06:19:16  作者:藏一人  网址:https://m.xinb2b.cn/sport/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

取反指令,
  • 赵丽颖幸福到万家预约人数破百万(赵丽颖幸福到万家延后)
  • 2024-11-25赵丽颖幸福到万家延后赵丽颖一直是小编比较喜欢的一位女演员,作为第10届金鹰电视艺术节举办的投票活动中被选为“金鹰女神”;她有很多脍炙人口的作品,《花千骨》《陆贞传奇》《知否知否应是绿肥红瘦》《有翡》《楚乔传》,颖宝虽然不。
  • 孩子多大不能穿高跟鞋:婴儿也穿上了高跟鞋
  • 2024-11-25孩子多大不能穿高跟鞋:婴儿也穿上了高跟鞋家里有个小公主,妈妈总想把宝宝打扮得美美的,可是你能想象婴儿穿高跟鞋的样子吗?前段时间,有博主晒出了一组婴儿穿高跟鞋的照片,配文道“现在都有婴儿高跟鞋了吗”?引发网友议论照片中,宝宝胖乎乎的脚丫上,套。
  • 过程装备与控制工程专业介绍(过程装备与控制工程专业简介)
  • 2024-11-25过程装备与控制工程专业简介过程装备与控制工程专业属于多学科交叉性应用型专业,从国际上讲,该专业一般归属于机械工程大类专业领域,主要涉及能源、动力及过程装备我校过程装备与控制工程专业将“过程”、“装备”与“控制”三个相关知识领域。
  • 安全生产专项工作部署会(安全生产工作永不言好)
  • 2024-11-25安全生产工作永不言好来源:烟台日报-大小新闻5月2日上午,栖霞市委书记包华采取“四不两直”方式到庙后镇实地督导检查安全生产工作,市领导史大琛和有关单位主要负责人参加活动包华一行先后对天昊矿业李博士夼矿区,天阳矿业李博士夼。
  • 佩戴和田玉对身体有啥好处(佩戴和田玉的好处你了解吗)
  • 2024-11-25佩戴和田玉的好处你了解吗古人讲佩玉为美,黄金有价玉无价玉埋藏地下几千年货是上亿年,玉中含有大量矿物元素,所以人们常说人养玉玉养人,如果人的身体好长期佩玉可以滋润玉,玉的水头也就是折光度会越来越好,越来越亮如果人的身体不好长期。
  • 孕吐难受怎么办教你一招(孕吐难受别傻忍着)
  • 2024-11-25孕吐难受别傻忍着文丨悠悠怀孕后,多数孕妈会饱受孕吐的辛苦,而且有的孕妈从怀孕一直吐到生,那滋味真是酸爽孕吐难受准妈妈们也别只傻傻忍着,一些有助于缓解孕吐的食物,孕妈们收好了1、苏打饼干怀孕后受体内激素影响,孕妈胃酸增。
  • wps表格常用函数使用教程(CELL函数的三种常用方法)
  • 2024-11-25CELL函数的三种常用方法我们在利用WPS表格与Excel表格进行日常办公时,经常需要运用到各种各样的函数,很多函数我们都不甚了解,比如CELL函数,CELL函数有很多种用法,表示返回某一引用区域的左上角单元格的格式、位置或内。
  • 太原市两会的时间(半月谈刊发报道)
  • 2024-11-25半月谈刊发报道太原,山西省会城市,古称晋阳,也叫龙城,有着2500余年建城史,有“襟四塞之要冲,控五原之都邑”的优越地理位置多年来,太原一直是我国的能源重工业基地,但也受限于此,产业结构单一,发展相对滞后,在我国经。
  • 鹿晗喜欢我吗(鹿晗喜欢上别人咋办)
  • 2024-11-25鹿晗喜欢上别人咋办当代的娱乐圈中,就是一个美女帅哥的集聚地,似乎这是个最难生存的地方没有点实力根本,靠颜值是没有用的,不过颜值高的地方恋爱也随之多了起来,就比如唐艺昕和张若昀,还有关晓彤和鹿晗关晓彤和鹿晗大家应该再熟悉。
  • 太阳射手上升天蝎月亮天秤的女生(2月17日至21日幸运星座)
  • 2024-11-252月17日至21日幸运星座摩羯座2020年2月17日星期一,摩羯座以退为进为自己拓展进阶的空间,凡事不强求,看似不争的策略却能够争得更多今日幸运星座:摩羯座今日摩羯座的贵人星座:巨蟹座今日摩羯座的幸运数字:2今日摩羯座的幸运颜。