好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

masm汇编语言知识.ppt

44页
  • 卖家[上传人]:tian****1990
  • 文档编号:75559924
  • 上传时间:2019-01-31
  • 文档格式:PPT
  • 文档大小:277.46KB
  • / 44 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第4章 ASM汇编语言知识(3学时),4.1 ASM汇编语言格式 4.2 汇编语句表达式 4.3 伪指令,开 始,4.1 ASM汇编语言格式,4.1.1 指令语句格式 4.1.2 伪指令语句格式,返回本章首页,4.1.1 指令语句格式,指令语句的一般格式如下: [标号:] 指令助记符 操作数 ;注释 标号:标号是机器指令语句存放地址的符号表示,代表该指令目标代码的第一个字节地址,后面必须紧跟冒号“:” 指令助记符:指令助记符为语句的核心成分,表示了该语句的操作类型 操作数:操作数表示指令助记符的操作对象 注释:注释均以分号开始,它可占一行或多行,一般放在一条语句的后面返回本节,4.1.2 伪指令语句格式,伪指令语句格式如下: [符号名] 伪指令符 操作数 ;注释 符号名:符号名是伪指令语句的一个可选项 伪指令符:伪指令符指定汇编程序要完成的具体操作,如数据定义伪指令DB、DW、DD,段定义伪指令SEGMENT,假定伪指令ASSUME等 操作数:伪指令后面的操作数可以是常数、字符串、变量、表达式等,其个数由具体的伪指令决定,各个操作数之间必须以“逗号”分隔 注释:伪指令的注释必须以“;”开始,其作用同指令语句中的注释部分。

      返回本节,4.2 汇编语句表达式,4.2.1 常量 4.2.2 变量 4.2.3 标号 4.2.4 表达式中的运算符 4.2.5 运算符的优先级,返回本章首页,4.2.1 常量,1.数值常量 2. 字符串常量,1.数值常量,表4.1 各种形式数字常量格式对照表,2. 字符串常量,字符串常量是用单引号引起来的一个或多个字符字符串常量是以各字符的ASCⅡ码表示的如‘A’用41H 表示,字符串‘A1B2’用41H,31H,42H,32H表示返回本节,4.2.2 变量,1.变量 2.变量的定义,(1)段属性 (2)偏移地址属性 (3)类型属性(DB/DW/DD),1.变量,表达式项是给变量或指定存储单元赋予初值,它有以下几种形式: (1)数值表达式 (2) 字符串表达式 (3)? 表达式 (4)带DUP的表达式,2.变量的定义,数据定义伪指令可以为一个或连续的存储单元设置数值初值 【例4.1】为数据段分配存储单元 DATA SEGMENT A DB 11H,12H,13H B DW 1122H,3344H C DD 12345678H DATA ENDS 上述变量(A、B、C)的存储单元分配及初始化情况如下图4-1所示。

      1)数值表达式,图4-1 数据段中数据存储分配图,字符串表达式中的字符串必须用引号引起来DB、DW、DD伪指令将字符串中的各字符均以ASCⅡ码形式存放在相应的存储单元,但表示形式各不相同 【例4.2】为字符串分配存储单元 DATA SEGMENT STR1 DB ‘123’ STR2 DW ‘AB’,‘A’ STR3 DD ‘AB’ DATA ENDS 其存储单元分配如下图4-2所示2) 字符串表达式,图4 -2 数据段中存储分配图,(3)?表达式 :?表达式只分配存储单元,不赋值 例如: CNT DB ? BUF DW ?,在表达式中使用重复数据操作符DUP,可以为连续的存储单元提供重复数据,其格式为: N DUP(表达式) 其中N为重复因子,只能取正整数,表示定义了N个重复数据存储单元,其类型由它前面的数据定义伪指令确定,而每个数据存储单元中的初值由DUP后面圆括号中的表达式给定 例如: BUF DB 100 DUP(0) 以上语句定义了以BUF为首址,大小为100个字节,初值为0的数据存储单元4)带DUP的表达式,返回本节,4.2.3 标号,标号是一条指令语句的符号地址在汇编源程序中,只有在需要转向一条指令语句时,才为该指令语句设置标号,以便在转移类指令(含子程序调用指令)中直接引用这个标号。

      因此,标号可作为转移类指令的操作数,即转移地址 【例4.3】符号地址表示 NEXT:MOV AL, [SI] ;带标号NEXT的指令 ┆ DEC CX J NE NEXT,1.段属性 2.偏移地址属性 3.类型属性(NEAR/FAR),标号也具有三种属性,返回本节,4.2.4 表达式中的运算符,1.算术运算符 2.逻辑运算符 3.关系运算符 4.属性运算符 5.数值返回运算符,算术运算符包括:+(加)、-(减)、*(乘)、/(除)、MOD(求模)、SHL(左移)、SHR(右移)几种,它既可以用于数值表达式又可用于地址表达式1.算术运算符,┆ 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 ┆ MOV AL,NUM5 SHL 4 ;(AL)=11110000B MOV BL,NUM5 SHR 4 ; (BL)=00000000B,【例4.4】用算术运算符进行数值表达式运算。

      逻辑运算符包括:AND、OR、XOR、NOT四种运算由于逻辑运算是按位操作,且在汇编过程中完成,因而运算的结果仍为整数常量 【例4.5】用逻辑运算符进行运算 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,2.逻辑运算符,关系运算符包括:相等(EQ),不等(NE),小于(LT),大于(GT),小于等于(LE)及大于等于(GE) 【例4.6】用关系运算符进行数值表达式运算 NUM1 DB 10 LT 5 ;NUM1=0 NUM2 DB 0AAAAH GT 7FFFH ;NUM2=0FFFFH MOV AX,‘A‘ EQ 41H ;0FFFFH→AX MOV BX,NUM2 LT NUM1 ;0→BX,3.关系运算符,(1)PTR运算符 格式: 类型 PTR 地址表达式 ①用来将“表达式”说明为一种数据类型 例如: MOV BYTE PTR BUF, 23,4.属性运算符,(1)SEG 运算符 (2)OFFSET运算符 (3)TYPE运算符 (4)LENGTH运算符 (5)SIZE运算符,5.数值返回运算符,(1)SEG 运算符 格式:SEG 变量或标号 功能:分离出其后变量或标号所在段的段首址。

      例如: MOV AX,SEG IEnter MOV DS,AX (2)OFFSET运算符 格式:OFFSET 变量或标号 功能:分离出其后变量或标号的偏移地址 例如: MOV AX,OFFSET IEnter,(3)TYPE运算符 格式:TYPE 变量或标号 功能:分离出其后变量或标号的类型如果是变量,将返回该变量的类型对应字节数;如果是标号,则返回代表标号类型的数值它们之间的关系见下表所示:,(4)LENGTH运算符 格式:LENGTH 变量 功能:取出变量所含的数据存储单元个数 【例4.7】取出变量占存储单元个数 DATA SEGMENT A DB ‘ABCDEF’ B DW 10 DUP(1,2DUP(2)) C DB 3,20 DUP(0) DATA ENDS ┆ MOV AX,LENGTH A ;1→AX MOV BX,LENGTH B ;10→BX MOV CX,LENGTH C ;1→CX ┆,(5)SIZE运算符 格式:SIZE 变量 功能:取出变量所含的数据存储区大小其返回值为: LENGTH 变量  TYPE 变量 例如:上例中A、B、C三变量: SIZE A = LENGTH A  TYPE A = 1 SIZE B = LENGTH B  TYPE B = 20 SIZE C = LENGTH C  TYPE C = 1,4.2.5 运算符的优先级,表4.3 运算符的优先级,返回本节,4.3 伪指令,4.3.1 数据定义伪指令 4.3.2 符号定义伪指令 4.3.3 段定义伪指令SEGMENT/ENDS 4.3.4 假定伪指令ASSUME 4.3.5 置汇编地址计数器伪指令ORG 4.3.6 源程序结束伪指令,返回本章首页,4.3.1 数据定义伪指令,常用的数据定义伪指令有DB,DW,DD。

      格式:[变量名] 数据定义伪指令 表达式 [,…] 功能:定义数据存储区,类型由数据定义伪指令确定,初值由表达式给定返回本节,4.3.2 符号定义伪指令,1.等价伪指令 2.等号伪指令,1.等价伪指令,格式:符号名 EQU 表达式 功能:为常量、表达式及其他各种符号定义一个等价的符号名,但它不申请存储单元 用途:用符号表示常量、数值表达式,即定义符号常量使用符号常量可使程序简单明了,增强程序的可读性和通用性 例如: ICW1 equ 00010011b ICW2 equ 00100001b ICW4 equ 00000001b OCW1 equ 11111101b,2.等号伪指令,格式:符号名 = 表达式 功能:为常量、表达式及其他各种符号定义一个等价的符号名,并能对所定义的符号多次重复定义,且以最后一次定义的值为准 【例3.8】定义等价符号名 ┆ COST = 20 M = MOV LOST = LOST+10 ;30→LOST M = ADD ;M=ADD ┆,4.3.3 段定义伪指令SEGMENT/END,格式: 段名 segment 指令或伪指令 段名 ends 注意:段名是为该段起的名字,用来指出汇编程序为该段分配的存储区起始位置,例如: data segment CNT db 0 data ends,,CODE SEGMENT ASSUME CS:CODE,DS:DATA START PROC MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF MOV CX,10 MOV BL,1 SCAN: CMP BYTE PTR[SI],0 JS EXIT INC SI DEC CX JNZ SCAN MOV BL,0 EXIT: JMP $ START ENDP CODE ENDS,4.3.4 假定伪指令ASSUME,格式:ASSUME 段寄存器:段名 [,段寄存器:段名] 功能:建立段寄存器与段之间的对应关系。

      该伪指令一般出现在代码段中4.3.5 置汇编地址计数器伪指令ORG,格式:ORG 数值表达式 功能:将数值表达式的值赋给汇编地址计数器$ 数值表达式的值须为0~65535之间的非负整数 【例4.13】给汇编地址计数器赋值 DATA SEGMENT ORG 10 ; 置$值为10 VAR1 DW 100H,200H ORG $+5;置$的值为14+5,即为19 VAR2 DB 1,2, $+1,$+2 N EQU $-VAR2 ; ($)=23 DATA ENDS,返回本节,4.3.6 源程序结束伪指令,格式:END [表达式] 功能:该语句标志整个程序的结束,是源程序的最后一条语句返回本节,过程定义伪指令,返回本章首页,格式: 过程名 PROC 指令 ┆ 过程名 ENDP,IInit proc mov dx, CS8259A mov al, ICW1 out dx, al mov dx, CS8259B mov al, ICW2 out dx, al mov al, ICW4 out dx, al mov al, OCW1 out dx, al ret IInit endp,。

      点击阅读更多内容
      相关文档
      新版中华民族共同体概论课件第五讲大一统与中华民族初步形成(秦汉时期)-2025年版.pptx 2023版《思想道德与法治》教学设计-绪论.docx 新版中华民族共同体概论课件第一讲中华民族共同体基础理论-2025年版.pptx 思想道德与法治(2023年版)资料第四章 明确价值要求 践行价值准则 - 副本.docx 2023版教学设计第五章 遵守道德规范 锤炼道德品格思想道德与法治2023版本课件.docx 新版中华民族共同体概论课件第二讲树立正确的中华民族历史观-2025年版.pptx 第六讲践行多边主义完善全球治理讲稿-2025秋形势与政策讲稿.docx 2023版教学设计第四章 明确价值要求 践行价值准则思想道德与法治2023版本课件.docx 新版中华民族共同体概论课件第十六讲文明新路与人类命运共同体-2025年版.pptx 第四讲阔步迈向农业强国讲稿-2025秋形势与政策讲稿.docx 2023版第一章 领悟人生真谛 把握人生方向教学设计思想道德与法治2023版本课件.docx 2023版教学设计第二章 追求远大理想 坚定崇高信念思想道德与法治2023版本课件.docx 微机原理及单片机应用技术概述.ppt 塑料成型工艺与模具结构-塑料成型工艺基础.ppt 市场营销学(第2版)市场营销管理.ppt 税收筹划(第2版)课件:跨国税收筹划问题.ppt 微机原理及单片机应用技术-初识STM32.ppt 政府与非营利组织会计(第7版)课件:政府会计的基本概念.pptx 政府与非营利组织会计(第7版)课件:政府单位会计概述.pptx 银行会计课件:无形资产与其他资产的核算.pptx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.