IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 汇编语言程序 -> 正文阅读

[Python知识库]汇编语言程序

1.1 程序从写出到执行过程

1> 编写汇编源程序

使用文本编辑器,用汇编语言编写汇编源程序。产生了一个存储源程序的文本文件。

2> 对源程序进行编译连接

使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。

可执行文件包含两部分内容:
(1)程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
(2)相关的描述信息(程序有多大、要占用多少空间内存等)

3> 执行可执行文件中的程序

在操作系统中,执行可执行文件中的程序。

注:操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。

1.2 源程序

1.伪指令

伪指令是由编译器来执行的指令, 编译器根据伪指令来进行相关的编译工作。

(1)段名 segment

段名 ends

segment和ends是一对成对使用的伪指令,在写汇编程序时必须要用到。

功能为定义一个段,segment说明一个段开始,ends说明一个段结束。

一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当作栈空间来使用的。一个源程序中所有将被计算机所处理的信息:指令、数据、栈,被划分到了不同的段中。

注:一个有意义的汇编指令中至少要有一个段,这个段用来存放代码。

(2)end

end是一个汇编程序的结束标记,编译器在编译汇编程序的过程中,如果碰到了伪指令end,就结束对源程序的编译。

(3)assume

含义为·“假设”,它假设某一段寄存器和程序中的某一个用segment…ends定义的段相关联。(记得要用assume将有特定用途的段和相关的段寄存器关联起来)

例如:代码段codesg的连接:assume cs:codesg

2.源程序中的“程序”

以后可以将源程序文件中的所有内容称为源程序,将源程序中最终由计算机执行、处理的指令或数据,称为程序。

3.标号

一个标号指代了一个地址。作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址。

4.程序返回

一个程序结束后,将CPU的控制权交还给使它得以运行的程序,称为:程序返回。应在程序的末尾添加返回的程序段

mov ax 4c00H
int 21H

注:一个程序P2在可执行文件中,则必须有一个正在运行的程序P1,将P2从可执行文件中加载如内存中,将CPU的控制权交给P2,P2才能得以运行。P2开始运行后,P1暂停运行。
而当P2运行完毕后,应该将CPU的控制权交换给使它得以运行的程序P1,此后,P1继续运行。

小结:
在这里插入图片描述

5.语法错误和逻辑错误

一般来说,程序在编译时被编译器发现的错误是语法错误。 (如:伪代码缺失或错误)

在源程序编译后,在运行时发生的错误是逻辑错误。(如:程序没有返回)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 13:07:15  更:2021-09-12 13:08:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:52:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码