第3章 汇编语言_2
汇编语言介绍
第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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




