微机课件04第四章:汇编程序设计.pptVIP

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

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机课件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)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档