- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理PPT教学课件-第4章 汇编语言程序设计
4.1 汇编语言格式 指令语句的一般格式如下: [标号:] 指令助记符(操作码) 操作数;注释 4.1.3 数据项 ㈡ 变量(或标号) 字符串常量是用单引号引起来的一个或多个字符。 字符串常量是以各字符的ASCⅡ码表示的。 如‘A’用41H 表示,‘A1B2’用41H,31H,42H,32H表示。 4.2 表达式与运算符 算术运算符包括: +(加)、-(减)、*(乘)、/(除)、MOD(求模)等。 逻辑运算符包括:AND、OR、XOR、NOT四种运算。 【例】用逻辑运算符进行运算。 MOV AL,34H AND 0FH ;04H→AL MOV BL,05H OR 30H ;35H→BL MOV CX,NOT 00FFH ;0FF00H→CX MOV DX,789AH XOR 000FH ;7895H→DX PTR运算符 格式: 类型 PTR 地址表达式 PTR用来对存储单元(重新)规定类型。 (1)SEG 运算符 格式:SEG 变量或标号 功能:分离出其后变量或标号所在段的段基址。 例如: MOV AX,SEG ARR MOV DS,AX (2)OFFSET运算符 格式:OFFSET 变量或标号 功能:分离出其后变量或标号的偏移地址。 例如: MOV BX,OFFSET BUF (3)TYPE运算符(了解) 格式:TYPE 变量或标号 4.3 伪指令 常用的数据定义伪指令有DB,DW,DD,DQ,DT。 格式:[变量名] 数据定义伪指令 表达式 [,…] 【例】为数据段分配存储单元。 DATA SEGMENT A DB 11H,12H,13H B DW 1122H,3344H C DD DATA ENDS ⑶ 符号定义伪指令 ┆ NUM1 EQU 25*4–50 ;NUM1=50 NUM2 EQU NUM1/7 ;NUM2=7 NUM3 DB NUM1 MOD 7 ;(NUM3)=1 VAR1 DB 1,2,3,4,5 VAR2 DB ‘12345’ NUM4 EQU VAR2-VAR1 ;NUM4=5 NUM5 EQU 0FH ┆ ⑷ 段分配伪指令ASSUME 格式:ASSUME 段寄存器:段名 [,段寄存器:段名] 【例】用ASSUME伪指令建立代码段、堆栈段与CS和SS的对应关系。 DATA1 SEGMENT A DB 1,2,3 DATA1 ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA2 SEGMENT B DB ‘123ABC’ DATA2 ENDS DATA3 SEGMENT C DB ?,?,? DATA3 ENDS CODE SEGMENT ASSUME DS:DATA1,ES:DATA3,CS:CODE,SS:STACK ⑸ 源程序结束伪指令 4.4 常用的DOS系统功能调用 ⑶结束调用(4CH号调用) 格式:MOV AH,4CH INT 21H 功能:终止当前程序并返回调用程序。 DATA SEGMENT STR DB 0DH,0AH,‘Example of string display!$’ DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE BEGIN:MOV AX ,DATA MOV DS,AX LEA DX,STR MOV AH ,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END BEGIN 综合举例 【例】已知一数据段中的数据为: DATA SEGMENT A DW 0CH BUF DB ‘AB’,0DH,0AH C EQU 500H B DW 0FFAAH D DD BUF M DB 2 DUP(1),2 DUP(2,’B’) DATA ENDS 请画出该数据段数据存储的形式。 DATA SEGMENT NUM DB BUF DB 0DH,0AH,‘NUM=’ STR DB 4 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX LEA DI,STR MOV AL,NUM MOV CL,4 SHR AL,CL OR AL,30H 4.5.1 概述 汇编
文档评论(0)