- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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、过程定
您可能关注的文档
最近下载
- 22J403-1 楼梯 栏杆 栏板(一) (3).pdf VIP
- 口腔科门诊护士接诊流程ppt新版【16页】.pptx VIP
- 课件:土壤有机质的测定.ppt VIP
- 2025年蜀道投资集团有限责任公司招聘笔试备考试题及答案解析.docx VIP
- 材料与试验协会 E 3-2001金相试样的制备方法(中文版).pdf VIP
- 设备台账标准格式.xls VIP
- 动火作业施工方案模板.docx
- 玩家国度ROG STRIX Z790-E GAMING WIFI 主板 ROG STRIX Z790-E GAMING WIFI 简体中文版使用手册.pdf
- 2025年蜀道投资集团有限责任公司招聘笔试备考题库及一套答案详解.docx
- 2025年辅警招考时事政治考题及答案.docx VIP
文档评论(0)