汇编语言程序设计之机器语言、源程序结构和运算符
需积分: 0 45 浏览量
更新于2024-06-29
收藏 230KB PPTX 举报
汇编语言程序设计
本资源主要介绍汇编语言程序设计的基本概念、汇编语言的结构、数据定义、运算符、基本结构程序设计、操作系统资源的使用等内容。
**机器语言、汇编语言与高级语言**
机器语言是计算机能够直接理解和执行的二进制代码,而汇编语言采用助记符表示机器语言,便于理解和记忆。汇编语言是介于机器语言和高级语言之间的一种语言,具有机器语言的效率和高级语言的易用性。
**汇编语言的主要功能**
汇编语言的主要功能包括:
1. 检查源程序,测出源程序的语法错误,并给出出错信息。
2. 产生源程序的目标文件(二进制),并给出列表文件。
3. 展开宏指令。
常用的汇编程序有Microsoft的MASM和Borland的TASM。
**编程调试过程**
编程调试过程包括五步:
1. 编辑EDIT文件名(.ASM)。
2. 汇编MASM文件名(.ASM)。
3. 连接LINK文件名(.OBJ)。
4. 运行文件名(.EXE)。
5. 调试DEBUG文件名.EXE。
**DOS装入EXE文件后内存的分配状况**
当DOS装入EXE文件后,内存的分配状况如下:
* DS、ES、CS、SS、SP等寄存器被自动设置为指向PSP的首址。
* PSP的头两个字节是INT20H,用户程序可通过该指令返回操作系统DOS。
**如何使用户程序执行完后返回来执行这条指令**
为了使用户程序执行完后返回来执行这条指令,需要将用户程序定义为一个远过程。当可执行文件装入内存后,DS、ES两个段寄存器被CPU自动设置为指向PSP的首址。程序的开始指令为:
PUSH DS
XOR AX, AX
PUSH AX
程序结束时的最后一条语句为RET,就把压入堆栈的PSP段的段基址和偏移量0000H弹出并送入CS和IP,转而执行返回DOS的指令INT20H。
**堆栈情况**
堆栈情况可以通过以下代码实现:
DATAS SEGMENT
MSG DB 'Helloworld','$'
DATASEND
CODES SEGMENT
MAIN PROC FAR
ASSUME CS:CODES, DS:DATAS
START:
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATAS
MOV DS, AX
MOV DX, OFFSET MSG
MOV AH, 09H
INT 21H
RET
**编程实例**
以下是一个简单的汇编语言程序设计实例:
DATAS SEGMENT
MSG DB 'Helloworld','$'
DATASEND
CODES SEGMENT
MAIN PROC FAR
ASSUME CS:CODES, DS:DATAS
START:
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATAS
MOV DS, AX
MOV DX, OFFSET MSG
MOV AH, 09H
INT 21H
RET
MAIN ENDP
CODES ENDS
END START
该实例展示了如何使用汇编语言设计一个简单的程序,包括数据定义、代码段、堆栈情况等内容。
点击了解资源详情
点击了解资源详情
105 浏览量
2022-11-14 上传
2022-11-14 上传
118 浏览量
374 浏览量
2022-11-14 上传
2022-11-14 上传
xinkai1688
- 粉丝: 390
- 资源: 8万+
最新资源
- 全国计算机技术与软件专业技术资格考试:软件评测师考试大纲
- ajax实战中文版.pdf
- 从头开始对Ubuntu优化
- spring开发指南(夏昕)
- ORACLE9i_优化设计与系统调整
- JTAG调试原理(ARM芯片)
- 第1章 Visual Basic的特点和版本
- KingbaseES入门-Windows
- Oracle DBA应该定期做什么笔记
- 网络工程师PPT 只有第一章 谢谢大家的分享
- 2008年全国计算机等级考试二级公共基础精选120题
- 统计软件SAS教程(李东风)
- 从硬盘安装Linux
- 2007年9月全国计算机等级考试二级C语言笔试试题(含参考答案).doc
- 统一建模语言(UML)参考手册——基本概念
- 2007年4月全国计算机等级考试二级C语言笔试试题(含参考答案)