汇编语言与基本伪指令.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言与基本伪指令

汇编语言与基本伪指令 1.教学目的:掌握微型汇编语言格式和程序设计方法 2.教学要求: 熟悉汇编语言程序的结构、语句类型和格式。 熟悉数据项及表达式,要求能明确区分标号和变量。 熟悉各类伪指令,要求掌握常用伪指令格式和应用。 熟悉汇编语言上机过程和DEBUG调试 3.教学重点: ①指令语句格式和伪指令语句格式 ②汇编语言程序格式。 4.掌握难点: ①伪指令 ②伪指令存储器分配技术 5.教学进程安排:P102~133 6.教学方法: 课堂讲授 7.教学内容摘要: 6.1 汇编语言语句格式 6.1.1 语句种类 【例6-1】先给出一个完整的汇编语言源程序,该程序的功能是完成两个字节数据相加。 DATA SEGMENT ;段定义开始(DATA段) BUF1 DB 34H ;第1个加数; BUF2 DB 2AH ;第2个加数 SUM DB ? ;准备用来存放和数的单元 DATA ENDS ;段定义结束(DATA段) CODE SEGMENT ;段定义开始(CODE段) ASSUME CS:CODE,DS:DATA ;规定DATA、CODE分别为数据段和代码段 START: MOV AX, DATA MOV DS, AX ;给数据段寄存器DS赋值 MOV AL, BUF1 ;取第1个加数 ADD AL, BUF2 ;和第2个加数相加 MOV SUM,AL ;存放结果 MOV AH, 4CH ; INT 21H ;返回DOS状态 CODE ENDS ;段定义结束(CODE段) END START ;整个源程序结束 从上面这个例子可以看出,汇编语言源程序由若干个语句组成,语句分为如下2类。 1.指令语句 2.伪指令语句 6.1.2 指令语句和伪指令语句的格式是类似的,格式如下: [名字] 操作码 操作数 [;注释] 1.名字 ⑴名字的标识符 ⑵名字的定义规则 ⑶名字的2种主要形式 ①标号 ②变量 2.操作码 3.操作数 ⑴常数 ⑵表达式 ①算术运算符 ②逻辑运算符 ③关系运算符 4.注释项 6.2 伪指令与伪操作 6.2.1 1. 等值伪指令EQU 0A041064000001FBFF3C 0A 04 10 64 00 00 01 FB FF 3C 00 00 00 FD FF 00 00 DATA_BYTE DATA_WORD DATA_DW 10d 4 10h 100d 60d 0FFFDh -5 100h 2. 等号伪指令 = EMP=7 EMP=EMP+1 3. 解除定义伪指令PURGE 格式:PURGE 符号1,符号2,…,符号N 6.2.2 [变量] 助记符 操作数,…,操作数 [;注释] 功能:为操作数分配存储单元,并用变量与存储单元建立联系。 DB、DW、DD、DQ、DT 【例6-2】操作数可以是常数,或者是表达式 (根据该表达式可以求得一个常数),如 DATA_BYTE DB 10,4,10H DATA_WORD DW 100,100H,-5 图6.1 例6-2的汇编结果 DATA_DW DD 3C,OFFFDH 汇编程序可以在汇编期间在存储器中存入数据, 汇编后的内存分布如图4.1所示。 【例6-3】操作数也可以是字符串,如: MESSAGE DB ‘HELLO’ 则存储器存储情况如图4.2⑴所示,而DB ‘AB’ 和DW ‘AB’的存储情况则分别如图4.2⑵和⑶ 所示。 【例6-4】操作数?可以保留存储空间,但不存入数据。 如:ABC DB 0,?,?,0 DEF DW ?,52,? 经汇编后的存储情况如图4.3所示。 MESSAGE48 MESSAGE 48 45 4C 4C 4F 41 42 42 41 H E L L O A B B A ⑴字符串的存储 ⑵DB ‘AB’ ⑶DW ‘AB’ 图6.2 例6-3的汇编结果 【例6-5】 使用DUP实现重复定义 ARRAY1 DB 2 DUP(0,1,2,?) ARRAY2 DB 100 DUP( ? ) 汇编后的存储情况如图4.4所示。 由图可见,例4-5中的第一个语句和语句ARRAY1 DB 0,1,2,?,0,1,2,?是 100个字节00 100个字节 00 - - 00 - - 34 00 - - ABC DEF 52d 00 01 02 - 00 01 02 - - ┇ - ARRAY1 ARRAY2 图6.3 例6-4的汇编结果 图6.4 例6-5的汇编结果 6.2.3 定义程序开始和结束的伪指令 NAME MODULE_NAME TITLE TEX

文档评论(0)

word.ppt文档 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档