微机原理及应用05.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用05

微机原理及应用 多媒体课堂 第四章 汇编语言程序设计 汇编语言语句 伪指令语句 MASM-86中的表达式 高级汇编 系统功能调用 程序设计基本方法 汇编语言程序上机过程 4.1汇编语言语句 汇编语言:是用指令的助记符、符号、标号等编写的面向机器的语言,它与机器语言一一对应。 汇编语言源程序:用汇编语言编写的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序—目标程序—的程序。 注意: 用汇编语言编写指令要求程序员必须熟悉CPU指令系统和内部结构。 高级语言编写程序方便,但要通过解释程序或编译程序翻译成机器语言才能执行。 4.1.1 汇编语言语句格式 (以下以MASM-86宏汇编程序为例) 基本语句:指令语句和伪指令语句 指令语句:与机器代码一一对应,一条指令语句对应机器的一种操作,汇编时产生一组目标代码。 伪指令语句:没有对应的机器代码,它只为汇编程序提供汇编时所产生的信息。 格式: 指令语句:[标号:]助记符 [操作数] [;注释] 伪指令语句:[名字]定义符 [操作数] [;注释] 例:LOOP:ADD AX,0001H;AX内容加1 4.1.1.1 标号/名字 标号:是某条指令所在单元的符号地址,必须后跟冒号“:”,它是可供选择的标识符。一个标号可以作为JMP指令或CALL指令的一个操作数。 名字是给某伪指令取的名称,它不能后跟冒号“:”,它可以是变量名、段名、过程名、符号名等。 标号/名字应符合以下规定: 由字母、数字或某些特殊字符(?· @ - $)等组成; 不能用数字开头。第一个字符必须是字母或某些特殊字符(?号不能单独使用,“·”号必须放在开头,不能放在其它位置); 有效长度为31个字符; 保留字(关键字)不能作标识符。 例:LOOP:ADD AX,0001H;AX内容加1 4.1.1.2 助记符/定义符 助记符:是指令的操作码,规定某指令语句的操作类型。 定义符:是由MASM-86规定的符号,是种汇编命令,规定变个伪指令的伪操作功能给程序员编写汇编语言源程序提供方便。 例:LOOP:ADD AX,0001H;AX内容加1 4.1.1.3 操作数 操作数:是某指令操作的数据。 指令语句的操作数的个数: 0 个,1个,2个等; 最大不超过两个,操作数之间必须用逗号“,”分隔; 有的操作数可以用表达式来表示。 伪指令语句的操作数的个数: 随不同的伪指令而相差悬殊; 有的伪指令不允许有操作数; 有的允许带多个操作数,其间用逗号“,”分隔; 有的操作数也可用表达式表示。 例:LOOP:ADD AX,0001H;AX内容加1 4.1.1.4 注释 注释:用来对语句的功能加以说明,方便阅读汇编语言源程序。 是由分号“;”开始的任意字符序列,是可选项。 汇编程序对它不进行处理。 在可打印的文件中,注释和源程序一起打印。 例:LOOP:ADD AX,0001H ;AX内容加1 4.1.2 MASM-86中的数据项 一、常数 数值常数: 二进制常数:由一串0和1组成的以字母B结尾的序列 十进制常数:由0—9数字组成的序列,以字母D结尾:128D或128 十六进制常数:由0—9和A—F字母组成的序列,以字母H结尾:88H,0FFH(凡以字母A—F结尾的十六进制数,必须在其前加上一个数字。 八进制常数:由0—7的数字组成的以字母Q结尾的序列:567Q 十进制浮点数:2.735E-2. 十六进制实数:数字以R结尾,位数必须是8、16或20。以0开始的十六进制实数的位数可以是9、17或21位:0FFFFFFFFR。 字符串常量: 字符串常量是由单引号‘’对括在内的1—2个ASCII字符构成的。 只有在初始化存储器时才可以通过伪指令语句使用多于两个字符的字符串常量。 4.1.2 MASM-86中和数据项 二、变量 变量名用来表示操作数所在存储器单元地址的符号。 属性: 段属性(SEGMENT) 偏移地址属性(OFFSET) 类型属性(TYPE) 字节(BYTE) 字(WORD) 双字(DWORD) 四字(DQ) 五字(DT) 注意:在程序中变量名的定义只允许出现一次。 4.1.3 MASM-86中和数据项 三、标号 某条指令所在单元的符号地址,它表明该指令在存储器中的位置。 可以作为转移指令和调用指令的目的操作数。 属性: 段属性:段基址总是在代码段寄存器CS中。 偏移属性:16位无符号数。代表从段起始地址到定义标号的位置之间的偏移量。 距离属性:NEAR或FAR。 NEAR:只需改变IP值,不改变CS值。默认属性。 FAR:改变IP和CS的值。 4.2 伪指令语句 符号定义伪指令 数据定义伪指令 段定义伪指令 过程定义伪指令 其它伪指令 4.2.1 符号定义伪指令 一、赋值伪指令EQU 格式:符号名

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档