ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:555.38KB ,
资源ID:2438774      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2438774.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理4章.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理4章.docx

1、微机原理4章微机原理与应用备课笔记B(第四章)第11次上课内容.第一部分 指令观察1、 算术运算指令观察zlgc1,zlgc22、 逻辑运算指令观察zlgc33、 条件转移指令观察-zlgc4第二部分 第四章 汇编语言程序设计4-1 概述、一、什么是汇编语言汇编语言是用指令助记符、符号地址、标号等书写程序的语言。特点:易读、易写、易记,。但是不如高级语言具有很好的通用性和可移植性,也不能像机器语言直接运行。调试运行程序*.exe目标程序*.obj编辑源程序*.asm正确运行连接汇编二、汇编语言上机过程有错4-2汇编语言基本语法4-2-1 汇编语言源程序实例zlgc2,exmp1例1:把内存中从

2、STRING开始的字符串传送到BLOCK开始的内存区域去DAT1 SEGMENTSTRING DB ABCD1234NUM EQU $-STRINGDAT1 ENDS伪指令语句DAT2 SEGMENTBLOCK DB 50 DUP(?)DAT2 ENDSCOD SEGMENT ASSUME CS:COD,DS:DAT1,ES:DAT2START: MOV AX,DAT1 MOV DS,AX指令语句 MOV AX,SEG BLOCK MOV ES,AX MOV CX,NUM LEA SI,STRING MOV DI,OFFSET BLOCKLP: MOV AL,SI MOV ES:DI,AL指令

3、语句 INC SI INC DI LOOP LP MOV AH,4CH INT 21H伪指令语句COD ENDSEND START汇编语言语句种类指令语句、伪指令语句、宏指令语句1) 指令语句由指令系统中有的指令构成。它指示CPU执行某种操作。该指令语句汇编后将产生目标代码。2) 伪指令语句属于说明性语句。仅在汇编过程中起汇编管理和说明的作用,不产生目标代码。实验二 指令观察1、 算术运算指令观察zlgc1,zlgc22、 逻辑运算指令观察zlgc33、 条件转移指令观察-zlgc44-2-2伪指令语句格式:名字 伪操作指令 参数表 ;注释1、段定义伪指令 1)段定义伪指令格式:段名 SEGM

4、ENT 段名 ENDS 用于定义源程序的各个逻辑段。如:代码段、数据段、堆栈段等。 SEGMENT/ ENDS必须成对出现,并且段名不能省略。 2)ASSUME假设伪指令格式: ASSUME 段寄存器名:段名 ;段寄存器名:段名 ;假设,用XX段寄存器指示XX逻辑段(段名)。用于汇编程序计算标号和变量的段内地址和物理地址。但是并没有实际装填相应段寄存器。段寄存器的内容还需要执行指令装填。2、数据定义伪指令(weizlgc.asm)BYT1 DB 12H,12,34H,34,56H, ,BYT2 DB ABCD1234 ?+-*/$WRD DW AB,12,34H,1234HSDRE DB 8

5、DUP(20H)DWRD DD 12H,1234H,12345678H,0QNUM DQ 123H,456HTNUM DT 1234H,5678H数据定义伪指令用来定义内存操作数(变量)。伪指令语句的名字称为变量名,它代表其右第1个内存变量。变量名有三个属性:段地址、偏移地址、数据类型。段地址SEGMENT BASE段内偏移量OFFSET类型TYPE数据类型指该变量所占字节数。如上:BYT1的类型值为1,WRD的类型值为2,DWRD的类型值为4,QNUM的类型值为8,TNUM的类型值为10等。3、符号定义伪指令EQU ,weizlgc 名字 EQU 表达式 ;把表达式的值赋给名字LEN EQU

6、 $-DWRD NUM EQU 3+5$-DWRD和3+5 称为表达式。表达式中的各个元素必须有具体值定义,也就是说,在源程序中就能计算出表达式的具体数值。 $程序汇编计数器。用来统计汇编过程中已分配的内存单元字节数。4、 类型定义伪指令LABEL给变量或标号定义类型,如变量名 LABEL BYTE/WORD/DWORD标号名 LABEL FAR/NEAR5、 END结束汇编伪指令结束汇编命令。汇编程序遇见此伪指令就结束汇编过程。因此,END应该是源程序的最后一条指令。其后的所有信息都将被汇编程序忽略。格式: END 标号 此处的“标号”应该指向程序运行的第一条指令,即表示第一条指令所在地址。

7、操作系统OS 会自动将该“标号”的逻辑地址装入CS:IP中。5、过程定义伪指令格式:过程名 PROC FAR/NEAR ; 。 。 指令序列 。过程名 ENDP 过程,即子程序,分为外部过程和内部过程。外部过程主程序和过程不在同一源程序文件中。其属性为FAR;内部过程主程序和过程同在一个源程序文件中。又分为段间FAR过程和段内NEAR过程。4-2-3 指令语句1、指令语句格式 标号: 前缀 指令助记符 操作数表 ;注释2、标号标号的作用标号代表“:”后面指令所在内存地址,供程序控制类指令作为转移目标用。标号的属性:标号有三个属性:段地址SEGMENT BASE段内偏移量OFFSET类型TYPE

8、 远FAR供段间转移 近NEAR供段内转移 标号的组成字母数字组成,以字母开头,最多8个字符。不可使用8086/8保留字,如指令和伪指令助记符、寄存器名、运算操作符等。标号的定义例如:NEXT: ADD AX,BX ;定义NEXT为近标号ABC LABEL FAR ;定义ABC为与远标号 MOV DX,BXF2 PROC FAR ;定义F2为远过程名,也可作标号用标号的使用在循环和条件转移指令中只能用NEAR标号,无条件转移指令根据转移目标的FAR / NEAR 属性来决定汇编成段间还是段内转移。转移的距离有三种:FAR用4个字节表示目标地址NEAR用2个字节表示目标地址(的距离)SHORT用

9、1个字节表示目标地址(的距离)3、指令助记符指令系统中的指令4、操作数1)立即操作数数值常数符号常数由EQU等伪指令定义其数值表达式符号常数和数值常数的运算表达式 总之,汇编过程中就能够计算出具体数值。 2)寄存器操作数3)储存器操作数地址表达式: 有效地址EA =BX/BP+SI/DI+disp(8/16位) 其中,disp可用常数、变量及其表达式段基:如有BP,则用SS 如有段超越符(如 ES:BX,用ES)则用指定的段寄存器, 其他,都用DS4-2-4 操作数表达式1、属性分析运算符:SEG,OFFSET,TYPE 2、合成运算符:PTR 还有很多其它运算符,以后碰到再介绍。注意:源程序

10、中,名字、标号、变量名的取名规则:1) 不得与8086汇编语言的保留字相同。所谓保留字包括:指令助记符、伪指令、运算操作符等。2) 由英文字母和数字等符号组成,不超过8个字符。第13次上课内容4-3 汇编语言程序设计一、程序结构1、顺序结构没有程序控制类指令,不改变程序运行顺序。最基本也最简单。2、分支结构根据某个条件是否满足(成立),决定程序的走向。由条件转移指令实现分支控制。是计算机软件具有分析判断能力的基础。3、循环结构程序中的某一段需要连续多次重复运行,可以采用循环结构。可以大大减少程序代码量,优化程序结构。计算机最擅长的就是简单重复处理,而人最烦的就是简单重复工作,因此,循环结构是最

11、能够体现计算机优势的程序结构。4、子程序结构1)程序中需要多次运行的某一段相对独立的程序段可以用子程序的形式编写,主程序中多次调用,可以简化程序和开发工作量。2)按照相对独立功能模块化程序设计:按照相对独立功能自成一个子程序模块,复杂的程序由若干个模块(子程序)组成。5、以上四种结构组成的复杂结构配图: 4-3-1 顺序结构例1:已知寄存器BL中有二位BCD数。编程送CRT 显示。(zlgc3.asm)COD SEGMENT ASSUME CS:CODSTART: MOV DL,BL MOV CL,4 SHR DL,CL OR DL,30H MOV AH,2 INT 21H MOV DL,BL

12、 AND DL,0FH ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21HCOD ENDS END STARTDOS功能调用;顺序程序例子。DOS功能调用实例例2:编程使电脑显示“WHAT IS YOUR NAME?”,然后,用户输入自己的英文名字xxx(必须三个字符),电脑显示”WELCOME YOU ,Mr xxx”。(exmp0.asm)DAT SEGMENTMSG1 DB WHAT IS YOUR NAME?,0AH,0DH,24HMSG2 DB 0AH,0DH,WELCOME YOU ,Mr $BUF DB 4 DUP(24H)DAT END

13、SCOD SEGMENT ASSUME CS:COD,DS:DATBEGIN: MOV AX,DAT MOV DS,AX MOV AH,9 MOV DX,OFFSET MSG1 INT 21H MOV AH,1 INT 21H MOV BUF,AL MOV AH,1 INT 21H MOV BUF+1,AL MOV AH,1 INT 21H MOV BUF+2,AL MOV AH,9 LEA DX, MSG2 INT 21H MOV AH,2 MOV DL,BUF INT 21H MOV DL,BUF+1 INT 21H MOV DL,BUF+2 INT 21H MOV AH,4CH INT

14、21HCOD ENDS END BEGIN4-4分支结构程序设计分支结构是计算机软件具有分析判断能力的基础。它根据某个条件是否满足(成立),决定程序的走向,选择不同的处理方法和过程。分支控制由条件转移指令实现,所以分支程序设计的关键是选择分支的判断依据和如何将此依据转化为状态标志的变化。分支机构举例:例1:将内存中的二进制数据转换成二位十六进制数显示。(exmp2.asm)DAT SEGMENTSTRING DB 1AH,2BH,56H,78H,90H,0A2H,0B3HNUM EQU $-STRINGDAT ENDSCOD SEGMENT ASSUME CS:COD ,DS:DATSTART: MOV AX,DAT MOV DS,AX MOV SI,NUM ;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1