教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

第3章 汇编语言_2

来源:网络收集 时间:2026-02-03
导读: 汇编语言介绍 第3.5节 汇编语言介绍一. 汇编语言的特点 汇编语言是一种以处理器指令系统为基础的低 级程序设计语言,它采用助记符表达指令操作 码,采用标识符表示指令操作数 利用汇编语言编写程序的主要优点是可以直接、 有效地控制计算机硬件,因而容易创

汇编语言介绍

第3.5节 汇编语言介绍一. 汇编语言的特点 汇编语言是一种以处理器指令系统为基础的低 级程序设计语言,它采用助记符表达指令操作 码,采用标识符表示指令操作数 利用汇编语言编写程序的主要优点是可以直接、 有效地控制计算机硬件,因而容易创建代码序 列短小、运行快速的可执行程序 汇编程序设计的过程是与其他高级语言程序设 计大致相同计算机原理讲义

汇编语言开发二 汇编 用汇编语言编写的程序 不能由机器直接执行, 而必须经汇编程序翻译 成机器语言程序。– 汇编:汇编语言源程序由 ASM.exe生成目标代码 (*.obj,可能有多个) 连接:由LINK.exe将.obj 连接成可执行程序。

计算机原理讲义

汇编语言介绍

三.汇编程序

绝对汇编:只能将助记符转换成机器码,如 DEBUG中的A命令

符号汇编:增加了对段的定义和对符号表示的 变量、常数、地址等的支持 宏汇编:增加了宏指令、结构、记录等高级功 能

计算机原理讲义

汇编语言介绍四.汇编语言的开发过程(一)编辑源程序

操作:形成以 .ASM 为扩展名的源程序文件 工具:用EDIT、NOTPAD、UltraEdit编辑 存盘形式:以ASCII码形式存盘 汇编 语言 源程序

汇编 程序

连接 程序

调试 程序

由编辑 MASM.EXE LINK.EXE软件建 立

DEBUG.EXE TASM.EXE TLINK.EXE TD.EXE CV.EXE 计算机原理讲义

汇编语言介绍(二)编译

操作:将源程序编译为以 .OBJ 为扩展名的目标文件 工具: Microsoft公司的 MASM.exe Ver5.0及以上版本 Borland 公司的 TASM.exe Ver2.0及以上版本 存盘形式:以二进制形式存盘 操作:把一个 .OBJ 文件或多个 .OBJ 文件连接(再定 位)形成可执行文件,即 .EXE 或 .COM 文件。 工具:Link.EXE 或 TLink.EXE

(三)连接

(四)调试 操作:对程序进行调试 工具:DEBUG.EXE

或 TD.EXE计算机原理讲义

操作系统资源简介

第3.5节 操作系统资源简介

一 DOS装入EXE文件的过程① DOS的装入程序为.EXE程序建立一个256字节的程序段 前缀PSP,PSP中包含可以被用户程序使用的DOS入口、DOS 为自己所存储的信息、由DOS传递给用户程序的信息等。 ② 把文件头读入内存工作区。 ③ 计算可执行模块的大小。 ④ 计算装入的起始段地址。 ⑤ 完成重定位。 ⑥ 初始化段寄存器和指针寄存器。CS:IP为主程序的入口 地址(程序装入后执行的第一条指令地址)。SS:SP指向栈 顶。 DS和ES寄存器指向PSP+0处,以便用户能够访问PSP 中的信息。 计算机原理讲义 ⑦ 把控制权交给.EXE程序。

※ 程序段前缀说明①

④⑤

⑥⑦

字段 PSP+0H处存

放了一 偏移 条指令,是用于结 束程序的DOS中断, PSP+0H 即INT 20H +2H PSP+2H处是程序可 +4H 用的内存空间,以 +5H 小段为单位,每小 +0AH 段为16字节 PSP+5H处是DOS功能 +0EH 调用INT 21H的入 +12H 口地址。 +16H PSP+0AH~0DH是INT 22H的入口IP和CS +2CH PSP+0EH~11H是INT +5CH 23H的入口IP和CS +6CH PSP+12H~15H是INT +7CH 24H的入口IP和CS PSP+2CH处是环境块 +80H 地址

字段 字段说明 长度

22 1 5 4 4 4 22 48 16 16

指令INT 20H,终止程序可用内存空间,以小段为单位 保留 DOS功能调用入口(同INT 21H) 运行终止处理程序地址(INT 22H) CTRL_BREAK中断出口地址(INT 23H) 标准错误出口地址(INT 24H) 保留 DOS专用,前两字节为环境块地址 格式化参数1,给未打开的FCB用 格式化参数2,给未打开的FCB用

4 128

保留 非格式化参数或默认磁盘传输地址

计算机原理讲义

操作系统资源简介⑧ 参数传递 早期的DOS支持格式化参数,例: COPY A:\file1.asm C:\file2.asm 将A:\file1.asm格式化参数1存于PSP+5CH处,格式为:0 1

1 F

2 I

3 L

4 E

5 1

6

7

8

9 A

10 11 S M

将B:\file2.asm格式化参数2存于PSP+6CH处 ⑨ 非格式化参数存于PSP+80H处

计算机原理讲义

常用DOS功能调用 二 常用DOS功能调用

– DOS提供了大量子程序功能调用,完成设备管理 (CON,PRN,COM)文件管理,内存管理和进程管理。

(1)输出一个字符(02H)输入参数: AH←02H DL←输出字符(ASCII码) 返回信息:无 例:MOV AH,02H MOV DL,’A’ INT 21H 计算机原理讲义

常用DOS功能调用 (2)输出一个字符串(09H) 输入参数:

(3)进程结束(4CH) 输入参数:

AH←4CH AH←09H AL ←返回值 DS:DX←存储字符串的起始地址, 结束符为‘$’。 返回信息:无

返回信息:无例:MOV AH,09H LEA DX, MSG INT 21H …... MSG DB ‘HELLO$’例:MOV AH,4CH MOV AL,01H INT 21H 01H返回操作系统,在批处理中可 以查询。

计算机原理讲义

三 程序退出方法 (1)利用INT 20H结束程序 例:CODE SEGMENT MAIN PROC FAR … INT 20H MAIN ENDP CODE ENDS END MAIN

… RET MAIN ENDP CODE ENDS END MAIN

(3)利用功能调用4CH退出 例:CODE SEGMENT MAIN PROC FAR … MOV AX,4C00H INT 21H MAIN ENDP CODE ENDS END MAIN

(2)利用标准序结束程序 例:CODE SEGMENT MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX

计算机原理讲义

第3.7节 汇编语言程序格式一 汇编语言程序举例例:编写一个.EXE文件,显示’Hello!’并响铃 data segment para ;定义数据段 string db ‘Hello!’, 7, ’$’ data ends sta segment stack ;定义堆栈段 db 256 dup(0) sta ends code segment ;代码段开始 assume cs: code, ds: data, ss: sta main proc far mov ax, data ;显示字符串,DS:DX为 mov ds, ax ;首地址,’$

’为结束符 lea dx, string mov ah, 9 int 21h mov ax, 4c00h ;返回系统,AL为返回码 int 21h main endp code ends end main 计算机原理讲义

汇编语言介绍

说明: 1、一个程序由SEGMENT和ENDS定义成三个段:数据段, 堆栈段和代码段。 2、代码段存放代码,即程序指令,由程序结束的end伪 指令后标号指出程序入口地址;堆栈段为程序堆栈操作 提供空间,由伪指令stack指明;数据段用来定义变量, 要用户在编程赋值。 3、一个程序中一定有一个代码段;若没有堆栈段连接时 给出警告信息;数据段根据需要可以没有。一个程序可 以有多个段。

计算机原理讲义

汇编语言格式二 段定义的格式seg_name SEGMENT [align_type] [combine_type] [‘class’] …… ;[ ]中的参数为可选参数 seg_name ENDS ※ ① ② ③

段定义格式说明 seg_name为本段的名字,一定要有。汇编语言根据段名寻 址该段,即seg_name实际代表一个地址。 SEGMENT / ENDS 定义了该段的起始和结束 align_type 表明该段起始位置在内存中的对齐类型 para 指定该段从一个小段(16字节)的边界开始; byte 指定该段从任一位置开始; word 指定该段从一个字边界开始 page 指定该段从一个页(256字节)的边界开始 计算机原理讲义

汇编语言格式④ combine_type 指出不同程序模块中具有相同段名的分段 的连接类型 public 表示该段在连接时,将与有相同名字 …… 此处隐藏:2534字,全部文档内容请下载后查看。喜欢就下载吧 ……

第3章 汇编语言_2.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/981307.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)