备课笔记10B(4章).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文档。上传文档
查看更多
备课笔记10B(4章)

《微机原理与应用》备课笔记B(第四章) 第11次上课内容. 第一部分 指令观察 算术运算指令观察——zlgc1,zlgc2 逻辑运算指令观察——zlgc3 条件转移指令观察------zlgc4 第二部分 第四章 汇编语言程序设计 4-1 概述、 一、什么是汇编语言 汇编语言是用指令助记符、符号地址、标号等书写程序的语言。 特点:易读、易写、易记,。但是不如高级语言具有很好的通用性和可移植性,也不能像机器语言直接运行。 二、汇编语言上机过程 4-2汇编语言基本语法 4-2-1 汇编语言源程序实例——zlgc2,exmp1 例1:把内存中从STRING开始的字符串传送到BLOCK开始的内存区域去. DAT1 SEGMENT STRING DB ABCD1234 NUM EQU $-STRING DAT1 ENDS DAT2 SEGMENT BLOCK DB 50 DUP(?) DAT2 ENDS COD SEGMENT ASSUME CS:COD,DS:DAT1,ES:DAT2 START: MOV AX,DAT1 MOV DS,AX MOV AX,SEG BLOCK MOV ES,AX MOV CX,NUM MOV SI, OFFSET STRING MOV DI,OFFSET BLOCK LP: MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP LP MOV AH,4CH INT 21H COD ENDS END START 汇编语言语句种类——指令语句、伪指令语句、宏指令语句 指令语句——由指令系统中有的指令构成。它指示CPU执行某种操作。该指令语句汇编后将产生目标代码。 伪指令语句——属于说明性语句。仅在汇编过程中起汇编管理和说明的作用,不产生目标代码。 实验二 指令观察 算术运算指令观察——zlgc1,zlgc2 逻辑运算指令观察——zlgc3 条件转移指令观察------zlgc4 4-2-2伪指令语句 格式: 名字 伪操作指令 [参数表] [;注释] 1、段定义伪指令 1)段定义伪指令 格式: 段名 SEGMENT … … 段名 ENDS 用于定义源程序的各个逻辑段。如:代码段、数据段、堆栈段等。 SEGMENT/ ENDS必须成对出现,并且段名不能省略。 2)ASSUME假设伪指令 格式: ASSUME 段寄存器名:段名 [;段寄存器名:段名] ;假设,用XX段寄存器指示XX逻辑段(段名)。 用于汇编程序计算标号和变量的段内地址和物理地址。但是并没有实际装填相应段寄存器。段寄存器的内容还需要执行指令装填。 2、数据定义伪指令——(weizlgc.asm)3.26 BYT1 DB 12H,12,34H,34,56H,, , BYT2 DB ABCD1234 ?+-*/$$ WRD DW AB,12,34H,1234H SDRE DB 8 DUP(20H) DWRD DD 12H,1234H,0 QNUM DQ 123H,456H TNUM DT 1234H,5678H 数据定义伪指令用来定义内存操作数(变量)。伪指令语句的名字称为变量名,它代表其右第1个内存变量。 变量名有三个属性:段地址、偏移地址、数据类型。 段地址——SEGMENT BASE 段内偏移量——OFFSET 类型——TYPE 数据类型指该变量所占字节数。如上:BYT1的类型值为1,WRD的类型值为2,DWRD的类型值为4,QNUM的类型值为8,TNUM的类型值为10等。 3、符号定义伪指令——EQU ,weizlgc 名字 EQU 表达式 ;把表达式的值赋给名字 LEN EQU $-DWRD NUM EQU 3+5 $-DWRD和3+5 称为表达式。表达式中的各个元素必须有具体值定义,也就是说,在源程序中就能计算出表达式的具体数值。 $——程序汇编计数器。用来统计汇编过程中已分配的内存单元字节数。 类型定义伪指令——LABEL 给变量或标号定义类型,如 变量名 LABEL BYTE/WORD/DWORD 标号名 LABEL FAR/NEAR END结束汇编伪指令 结束汇编命令。汇编程序遇见此伪指令就结束汇编过程。因此,END应该是源程序的最后一条指令。其后的所有信息都将被汇编程序忽略。 格式: END 标号 此处的“标号”应该指向程序运行的第一条指令,即表示第一条指令所在地址。操作系统OS 会自动将该“标号”的逻辑地址装入CS:IP中。 5、过程定

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档