第一个汇编程序
创始人
2024-01-31 05:51:14

第一个汇编程序

文章目录

  • 第一个汇编程序
    • 1.汇编模拟程序:DOSBox使用
    • 2.汇编程序从写出到执行的过程
    • 3.程序执行过程跟踪


1.汇编模拟程序:DOSBox使用

BOSBox软件常用基本语法:

mount c: d:\masn 	;挂载磁盘,挂载后用c:切换为C盘才能用debug等工具
dir 				;查看当前磁盘
debug 			    ;使用debug工具
-r 寄存器名			 ;查看cpu寄存器的内容
-d					;查看内存中的内容  ;扩展用法: -d 段地址:偏移地址 结果偏移地址,如 -d 1000:0 9 代表地址1000:0~1000:9
-e 内存内容			 ;改写寄存器内存中的内容
-u 				    ;查看内存中机器码含义
-T 					;执行内存中的机器码
-a					;以汇编指令的形式在内存中写入机器指令
-q					;退出debug工具

一点使用细节:

  1. 在使用DOSBox的使用一定要先挂载磁盘,否则无法使用debug工具
  2. 不要直接在自己电脑上使用DOSBox软件,因为你修改的寄存器可能是存储系统文件的寄存器,改了系统就崩了

伪指令与汇编代码的含义:

  1. 在汇编语言中有两种指令:汇编指令和伪指令
  2. 汇编指令:是指对应的机器码指令,可以被编译为机器指令,最终为CPU执行
  3. 伪指令:是指没有对应的机器指令,最终不被CPU所执行,由编译器执行的执行(编译器根据伪指令来进行相关的编译工作)

常见的伪指令含义:

  1. assume:这条伪指令含义是"假设"。它假设某一段寄存器和程序中的某一个用segment…ends定义的段相关联

  2. segment与ends:segment和ends是一对成对使用的伪指令。segment和ends的功能是定义一个段,segment说明一个段开始,ends说明一个段结束。一个段必须有一个名称来表示

  3. end:end是一个汇编语言结束标记,编译器在编译汇编程序的过程中,如果遇到伪指令end,就结束对源程序的编译

  4. idata:表示常量

  5. db:定义字节类型的意思

  6. dw:定义字类型的意思

    比如:

    1. mov ax,[idata] 可以表示 mov ax,[1] mov ax,[2]等
    2. mov bx,idata 可以表示mov bx,1 mov bx,2等
    3. mov ds,idata 可以表示mov ds,1 mov ds,2等但是这样是非法指令,因为ds寄存器不支持直接将数据送入ds寄存器
;举例格式
assume cs:codesg ;assume+自定段名称
codesg segment ;格式:段名称+segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4C00Hint 21H
codesg ends ;格式:段名称+ends
end  ;结束标志

2.汇编程序从写出到执行的过程

  1. Edit(编写)
  2. masm(编译)
  3. link(连接)

请添加图片描述

加载后,CPU的CS:IP指向程序的第一条指令(即程序的入口)

//1.asm程序
assume cs:codesg ;将用作代码段的段codesg和段寄存器cs联系起来。codesg segment ;定义一个段,段的名称为“codesg”,这个段从此开始;codesg是一个标号,作为一个段的名称,最终被编译连接成一个段的段地址mov ax, 0123Hmov bx, 0456H add ax, bxadd ax, ax mov ax, 4c00H int 21H ;这两条指令实现程序的返回codesg ends ;名称为“codesg”的段到此结束end ;//编译器在编译汇编程序的过程中,碰到了伪指令end,结束对源程序的编译

请添加图片描述

请添加图片描述


3.程序执行过程跟踪

先给结论:DS和CS段之间有256(也就是100H)的通信区,用于DOS跟程序通讯

这也是为什么(ds)=0B2DH,但程序在0B3D:0(100H就是10:0)处开始执行的原因

请添加图片描述

请添加图片描述

相关内容

热门资讯

excel表格怎么求积 exc... Hello大家好,我是帮帮。今天跟大家分享一下Excel合并单元格求和乘积计算技巧,特殊表格公式计算...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
死人为什么要盖上脸 家里死人三... 众所周知,人的一生是非常短暂的,所以人们会在有限的时间里,将自己想做的事情都做完,为的就是不留遗憾。...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...