- 1、本文档共100页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】实模式程序设计
汇编语言源程序编制完成后,在计算机上的操作过程分为四个阶段:编辑、汇编、连接、运行调试;程序的编辑
编辑阶段的主要任务是:
输入源程序;对源程序进行修改。;程序的汇编
汇编阶段的任务是把汇编语言源程序“翻译”成为机器代码(称
为“目标”),产生二进制的“目标文件”。 ;如果汇编语言源程序文件以“.TXT”为扩展名,汇编时要使用这个文件的“全称”:;程序的连接
连接阶段主要完成的操作
把几个程序模块产生的目标文件连接成一个完整的可执行程
序;把“子程序库”中的子程序连接到程序中去。
连接命令行
C:LINK MYPRG1.OBJ ; 生成MYPRG1.exe;程序的执行
DOS中直接输入程序名称: MYPRG1.exe或MYPRG1
一、 发生以下两种情况之一的,需要对程序进行“调试”。
1、汇编语言程序不包含输出结果的相关指令,操作者无法看到
程序的运行结果。
2、程序能够运行,但是不能得到预想的结果。
二、调试(Debug):在操作者的控制下执行这个程序,观察程序每个
阶段的执行结果,或者修改参数反复运行程序,查找出程序中还存在的
不正确的地方,或者验证程序的正确性。
TASM5.0软件包中,用于程序调试的软件称为“TD” (Turbo Debugger):;程序的执行
调试程序“TD”的运行界面;汇编语言的语句格式分类
语句一般由分隔符分成的四个部分组成,它们有
两种格式:
执行性语句——由处理器指令构成的语句,它通常对应一条机器指令,出现在程序的代码段中,其结构如下:;汇编语言的语句格式分类
;说明性语句——由伪指令构成的语句,它通常指示汇编程序如何汇编源程序,其结构如下:;标号和名字
是一种符号地址
类型:1、标号:指令符号地址
2、变量:数据符号地址
操作符和伪操作符
操作符可以是任何一条处理器指令,也可以是一条宏指令。
伪操作符主要完成一些不产生CPU动作的说明性工作,在程序执行前由汇编程序完成处理。
操作数和参数
处理器指令的操作数可以是立即数、寄存器和存储单元。是指定参与操作的数据。
伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号隔开。;注解
注释项用来说明一段程序或一条或几条指令的功能,是可有可无的。通常在编写程序时,为了增强程序的可读性。
通常一般注解是以一个英文分号(;)为开头,而且不管你在何处打入此符号,汇编程序都会假设其右边的所有字符均是注解。(注解可包含任何字符,包括空白字符)。;变量和标号属性类伪指令
地址操作符:
地址操作符取得名字或标号的段地址和偏移地
址两个属性:
中括号[ ] : 表示将括起来的表达式作为存储器地址指针;
符号$ :表示当前偏移地址;
段前缀的冒号:也是一种地址操作符,表示采用指定段的段地址寄存器。;2.2指令系统 ;2.2指令系统 ;变量和标号属性类伪指令
地址操作符:
另外还有如下两个:
SEG 变量/标号 ;返回变量或标号的段地址
例:MOV AX,SEG M1
MOV DS,AX
M1是段名为DATA的数据段中的一个变量名。
OFFSET 变量/标号 ;返回变量或标号的偏移地址
例:若DA1为数据段中一个变量名
MOV BX,OFFSET DA1;汇编程序将变量DA1的偏移地址送到BX中,相当于指令 LEA BX DA1。;类型操作符
类型操作符对变量或标号的类型属性进行相关的设置
1、PTR
格式:类型/距离 PTR 变量/标号
对变量或标号的类型属性进行临时指定或
修改存储器操作数的类型属性(保持原有的属性)
功能:是将PTR左边的类型属性赋给右边的变量或标号。PTR本身并不分配存储单元,仅给已分配的存储单元临时赋予新的属性,这样可以保证运算时操作数类型的匹配,常与类型BYTE、WORD、NEAR、FAR等连用。 ;类型操作符
1、PTR
例:N1 DB 15H,36H
N2 DW 1122H,3344H
LO:MOV AX,WORD PTR N1
;使N1类型转换成字与AX类型匹配。
MOV BL,BYTE PTR N2
;使N2类型转换成字节与BL类型匹配。
例:MOV BYTE PTR [BX],10H ;[BX]←10H
MO
文档评论(0)