微机_04第四章:汇编程序设计课件.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机_04第四章:汇编程序设计课件

南理工紫金学院 帅辉明;汇编语言 数据和表达式 伪指令 语法 程序设计 顺序、分支、循环、子程序 DOS功能调用;机器语言:由0、1代码所组成的语言。面向机器,同一组代码对不同的计算机表示不同的含义。 汇编语言:由助记符表示的语言。面向机器。 高级语言:用一些接近人们书写习惯的英语和数学表达式形式的句子编写程序。这种语言不面向机器,而是面向过程、面向对象。 ;C、C++、PASCAL语言 如:Turbo C、VC++、DELPHI、GNU GCC ;1.数据 (1)常数 表示汇编过程中已经有确定数值的量,主要用于做指令中的立即数、寻址中的位移量,或在伪指令语句中给变量赋值。 数值常数:由二、八、十和十六进制表达的数 字符串常数:用’ ’(或“ ”)括起来的一串ASCII码字符,等效为一组数值常数 ;内存单元的数据,变量值在程序运行期间可以改变。 需要事先定义,通过变量名引用。变量名表示变量的首地址。 在数据段或附加段用数据定义伪指令定义。 变量的属性 段:变量所在段基址 偏移量:变量在段内的偏移量 类型:变量的字节数,DB、DW、DD ;在指令前面,代表指令所在存储单元的地址。 通常作为程序中转移、调用、循环指令的转移目标地址。 定义方式- 标识符: 标号的属性: 段:变量所在段基址 偏移量:变量在段内的偏移量 距离: NEAR段内标号、 FAR段外标号 ;由常数、变量或标号、运算符连接而成 分类:数字表达式、地址表达式 (1)运算符;MOV AX, VALUE MOD 7 ;VALUE=50 MOV AL, NOT 0FH MOV AX, 0FH EQ 1111B ;对存储单元的操作;SEG返回变量/标号的段基址 OFFSET返回变量/标号的段内偏移 举例: MOV AX,SEG K1 MOV BX,SEG ARRAY MOV BX,OFFSET ARRAY 变量K1所在段的段基址为0915H 变量ARRAY所在段的段基址为0947H,偏移为0100H ;数据;LENGTH返回数组元素的个数 若变量用重复数据操作符DUP定义,则返回最外层DUP的值 若变量无DUP说明则返回1 SIZE返回数组变量所占的总字节数 =LENGTH*TYPE ;K1 DB 10H DUP(0) K2 DB “ABCDEF” TYPE K1 = TYPE K2 = LENGTH K1 = LENGTH K2 = SIZE K1 = SIZE K2 = ;类型修改运算符PTR;优先级;指令语句 伪指令语句 宏指令语句 ;定义变量,并关联变量名和存储单元地址。 定义格式:[变量名] 类型 数据项表 类型:DB DW DD DQ DT 数据表项:变量的长度、数组元素个数、变量的初值 ;DBYTE DB -5H 一个字节变量,值为-5H DWORD DW 6*3 一个字变量,值为18 DDWORD DD 1234H 一个双字变量,值为1234H ;STRING1 DB ‘AB’ 一个字节变量,值为’A’ STRING2 DW ‘AB’ 一个字变量,值为’AB’ STRING3 DD ‘AB’ 一个双字变量,值为’AB’ ;伪指令:DUP,重复赋值 格式:重复次数 DUP(操作数,…..,操作数) SUBB DW 1000 DUP (?) 包含1000数组元素 值不确定 SDKP DB 2 DUP (0,2 DUP(1)) 包含2个数组元素 每个元素由2部分构成,0和另一个数组B 数组B包含2个元素,值为1 ;BUFF DB 16 DUP (‘Welcome’) 包含16个元素 每个元素的值为’Welcome’ LING DB 4 DUP (0,1) 包含4个元素 每个元素的数据为0和1 ;赋值伪指令:EQU 定义格式:符号名 EQU 表达式 等号伪指令:= 定义格式:符号名 = 表达式 特点:都不直接产生机器指令 区别:赋值伪指令不可以重名 ;COUNT = 5 ;常数 NUM= 13+5-4 ;数值表达式 NUM = NUM+1 ADR1 EQU DS:[BP+4] ;地址表达式 CREG EQU CX ;寄存器名 CBD EQU DAA ;指令名 L1 EQU SUBSTART ;标号名 WO EQU WORD PTR DBYTE;变量名 ;把源程序划分成若干逻辑段,便于汇编程序生产相应代码,便于连接程序生产可执行程序。 一个汇编语言源程序可以包含若干个逻辑段(代码段、数据段、附加段或堆栈段),段与段之间的顺序可随

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档