- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MASM汇编语言
第四章 MASM汇编语言 授课教师:陈振华 Email: zhenhuachen@yeah.net 主要内容 本章主要内容: 4.1 汇编语句格式 4.2 表达式 4.3 伪指令 4.4 完整汇编源程序的上机过程 MASM简介 MASM是微软公司开发的汇编开发环境,拥有可视化开发界面。使开发人员不必再使用DOS环境进行汇编的开发。编译速度快。 汇编语句 指令语句 伪指令语句 只能为汇编程序所识别并指导汇编如何进行;用于理解程序框架、分配空间(数据定义)等。既不控制机器的操作数又不汇编成机器代码 宏指令语句 由多条指令打包而成的一组指令的集合,调用宏指令实质上是依次执行宏中的各条指令。 汇编语言格式 指令语句的基本格式为: [标号:] 指令助记符[操作数1[,操作数2]] [;注释] 伪指令: [名字] 伪指令助记符 [参数表] [;注释] 宏指令: [标号:] 宏指令名 [实参表] [;注释] 综上,汇编语句的一般格式为: [名字项] 操作项 [操作数项] 注释项 名字的起名规则 ① 名字可由字母、数字、下划线等字符组成; ② 名字的首字符必须为字母或下划线,不能为数字 (数值常量必须以数字打头); ③ 名字最长可达31个字符; ④ 保留字不能作为名字; ⑤ 建议取名能做到“望名思义”。 例: A、B2、STRING、DATA、CODE_SEGMENT、FFH等为合法名字,而2B、0FFH、LENGTH、MOV、DATA-SEG、A B等为不合法的名字。 表达式 表达式由运算符和操作数(常量、变量、标号)组成;操作数在内容上可能代表一个数据,也可以代表一个存储单元的地址。 数值表达式能被计算产生一个数值的结果。 地址表达式的结果是一个存储器的地址,如果在这个地址的存储区域中存放的是数据,则称它为变量;如果存放的是指令,则称它为标号。 汇编语言中的表达式是在汇编过程中完成计算的,即翻译之后的机器语言中是不包含表达式的. 表达式中的运算符 种类:算术运算符、逻辑运算符、关系运算符、分析运算符、综合运算符、分离运算符、结构和记录运算符和其它运算符等。 优先级别 算术运算 算术运算符:+(加)、-(减)、*(乘)、/(整除)、MOD(求余)。运算对象和运算结果均必须是整数。 “ /”:整除(商的符号位是同号得正,异号得负)。 MOD:求余(两数相除后的余数,绝对值求余后再加符号位,符号位与被除数相同)。 “* / MOD”不能用于变量运算。 “+ -”可用于变量与常量之间,变量±常量代表的是变量的地址±常量后作为地址所对应的存储单元。 “-”可用于变量与变量之间,变量-变量实质是两个变量的地址相减,是两个变量之间间隔的字节数。 * / MOD比+ -运算优先级别更高。 例:4.1设 A DB 1,2,3,4 B DW 1,2,3 ;内存分配图如图4.1,则: MOV AL,A+3;AL=04H MOV BX,B+3;BX=0300H MOV CX,B-A;CX=0004H 例 4.2 :如数组ARRAY定义如下,试写出把数组的第4个字(从第一个起算)传送到BX寄存器,把数组长度(字数)存入CX寄存器的指令。 ARRAY DW 34H, 56H, 12H, 78H OTHER DW ? 可用如下指令实现: MOV BX, ARRAY+(4-1)*2 MOV CX, (OTHER-ARRAY)/2 例 4.3 MOV AH, 5/3 ;AH=01H MOV BH, 5 MOD 3 ;BH=2 关系运算 对两个操作数进行比较,若条件满足则结果为全“1”;否则运算结果为全“0” 6个关系运算符为: GT(大于)、GE(大于等于)、LT(小于)、LE(小于等于)、EQ(等于)和NE(不等于)。 操作数必须都是数值或是同一段内的两个存储器地址。 运算的级别:比算术运算级别低。 例: 4.4 MOV AX, 5 GT 3 ; 真,AX=FFFFH MOV BL, 8+2*3 LE 5+29/6 ; 假,BL=00H 位运算(逻辑运算符)
文档评论(0)