第一个汇编程序
来源:互联网 发布:有什么二次元软件 编辑:程序博客网 时间:2024/06/01 09:59
第一个汇编程序
①源程序 Hello.asm
assume cs:Hello ;假设ip为Hello,cs:ip指向的是程序执行的内存地址Hello segment ;定义一个段Hello mov ax,2 ;3个字节 mov bx,3 ;在段中写汇编语句,3个字节 mov ax,4c00H;3个字节 int 21H ;程序返回 2个字节Hello ends ;段的结束地end ;程序的结束地
② 程序运行原理
要执行A程序必须要有一个正在执行的B程序,B程序将A程序加载进内存,将CPU的控制权交给A程序,B程序暂停执行,当A程序执行完后,再将CPU控制权交给B
那么如何将CPU执行权返回给B程序呢?该返回过程叫做程序返回
mov ax,4c00H int 21H
这两条指令做的就是程序返回,具体指令含义不解释
③编译,连接,运行,跟踪程序
- 首先把masm和linker软件添加到环境变量,两个程序可自行网上下载
- 编译:
OBJ:目标文件(要的结果)
LST:列表文件名,中间结果
CRF:交叉引用文件
完成之后可看到有一个HELLO.OBJ文件
- 连接
执行link命令,输入HELLO.OBJ一路ENTER,最后生成HELLO.EXE文件
- 运行 Debug跟踪 HELLO.EXE
可以看到,用U命令查看即将执行程序的汇编指令,就是我们刚刚写的Hello.asm
,CX代表的是U命令查看到的本程序的指令大小,B(11)个字节,
- 程序的所在内存地址:
DS+10:0 1447 也是 CS的值,CPU通过SS段寄存器以及SP寄存器(偏移地址)来指向栈顶元素的地址,SS也就是栈顶的地址
最后BX变成了3,AX变成了4c00,要用p命令执行int 21H,不为什么
两个软件的下载地址链接:http://pan.baidu.com/s/1gfdWds3 密码:e103
0 0
- 第一个汇编程序
- 第一个汇编程序
- 第一个汇编程序
- 第一个ARM汇编程序
- 调试第一个汇编程序
- 第一个ARM汇编程序
- 第一个汇编程序
- 第一个汇编程序
- 第一个汇编程序分析
- 第一个汇编程序
- 第一个汇编程序
- 第一个masm32汇编程序
- 俺的第一个汇编程序
- 我的第一个汇编程序
- 调试第一个汇编程序(上)
- 调试第一个汇编程序(下)
- 第一个汇编程序hello world
- 第一个汇编程序,失败……
- ECMAScript6标准Module
- mysql-5.7.16-winx64 安装说明
- 还是这棵树
- 【Abode Air程序开发】打包并导出
- 三种东西永远不要放到数据库里
- 第一个汇编程序
- uses-permission错误情况之一
- 3D技术与应用
- 在IPhone上添加邮箱(163示例)
- 找出7个默森尼数,法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数,Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
- 第九周 oj训练 第几天
- 文章标题
- static小结
- 生产者与消费者问题