文档介绍:汇编语言与汇编
指令及汇编
常用伪指令介绍
汇编语言的应用
DEBUG简介
宏指令与宏汇编
汇编与连接
汇编语言程序设计
目的要求
1. 掌握汇编语言的伪指令
2. 掌握汇编语言的属性操作符
第一节汇编语言的格式
一. 汇编语言及汇编
汇编语言
高级语言
程序编辑
程序翻译
用户
适应范围
对“位、字节、字、寄存器、存储器单元”等进行处理。
汇编程序
熟悉计算机内部硬件结构
与语言相适应的微处理器计算机,机器的自检,系统初始化等。
涉及抽象事物;“代表数”和“字符变量”。
编译程序
只需要掌握某种语言
各种类型计算机
、汇编、连接与调试过程。
(1)汇编语言的编辑
(2)汇编语言的汇编
(3)汇编语言的连接
(4)汇编语言的调试
或编辑工具编辑汇编语言源程序。
其后缀为“ASM”的“源程序”
。
形成其后缀为“OBJ”的“目标文件”
。
。
可以观察到程序在执行过程中各存储器单元、各寄存器等
的内容,及根据DEBUG中的命令,可以要求程序单步或连续
执行等。
说明:
1、.COM文件是内存映像文件,执行时直接装入内存即可执行。其中代码段、数据段、堆栈段等的段地址完全相同。一般程序长度小于64KB。装入执行速度相对较快。
2、.EXE文件不是内存映像文件,执行时需要把代码段、数据段、堆栈段等重新定位,然后才能够执行。程序长度可以大于64KB。装入执行速度相对较慢。
3、(程序前缀段),里面是程序运行的一些基本信息,存放在程序的开始位置0-FFH,PSP的长度是100H。
用汇编语言编写的一个简单例子:在屏幕上显示Hello!并且响铃。
请进入DOS环境学习。
1、用DEBUG写程序。
C:\MASM>DEBUG-A136E:0100 MOV DX, 10C136E:0103 MOV AH, 9136E:0105 INT 21136E:0107 MOV AX, 4C00136E:010A INT 21136E:010C-E10C 'Hello!',7,'$'-RCXCX 0000:14--WWriting 00014 bytes-GHello!
2、编写一个EXE文件。
.Model Small
.Stack 200H
.Data String DB 'Hello!', 7, '$‘
.Code
Start: MOV AX, ***@Data
MOV DS, AX
LEA DX, String
MOV AH, 9
INT 21H
MOV AX, 4C00H
INT 21H
End Start
-> Tasm H2 -> Tlink H2
3、文件。
.Model Tiny
.Code
ORG 100H
Start: LEA DX, String
MOV AH, 9
INT 21H
MOV AX, 4C00H
INT 21H
String DB 'Hello!', 7, '$'
End Start
->Tasm H3
->Tlink /t H3
简化的段伪指令与标准的段伪指令的对比
.Model Small
.Stack 200H
; MyStack Segment STACK
; DW 200 DUP (0)
; MyStack EndS
.Data
; Data Segment
String DB 'Hello!', 7, '$'
; Data EndS
;
; Code Segment
; Assume DS:Data, CS:Code, SS:MyStack
; Main Proc Far
.Code
Start: MOV AX, ***@Data
; MOV AX, Data
MOV DS, AX
LEA DX, String
MOV AH, 9
INT 21H
MOV AX, 4C00H
INT 21H
; Main EndP
; Code EndS
End Start
(1)源程序
(2)反汇编内容
数据段
代码段
段偏移机器反汇编
地址地址码内容