汇编语言基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 计算机科学系-汇编课件 第3章 汇编语言基础 要点: 汇编语言基本元素 例子:三个整数相加 编译、链接和运行程序 定义数据 符号常量 1. 汇编语言的基本元素 整数常量 实数常量 字符常量、字符串常量 保留字 标识符 伪指令 指令 1.1 整数常量 由符号(可选)开头,加上一个或多个数字以及一个表示数制基数的字符后缀(可选)构成: [{+|-}]digits [radix] 基数:h、q/o、d、b、r、t、y 表达式 ()、+|-、*|/、MOD、 +|- 单目 双目 1.1 整数常量 整数常量 -26 26d 42q 1Ah 0A3h 整数表达式 4+5*2 12-1 mod 5 1.2 实数常量 十进制实数 [sign]integer.[integer][exponent] E[{+|-}]integer {+|-} 例: 1) 2. 2) +3.0 3) -44.2E+05 4) 26.E5 1.3 字符、字符串常量 以单引号或双引号 可以嵌套 ‘A’ “d” ‘4096’ “Goodnight, Gracie” “This isn’t a test” ‘Say “Goodnight,” Gracie’ 1.4 保留字 这些单词有特殊的意义,只能用于正确的上下文环境中: 指令助记符 伪指令 属性 运算符 预定义符号 附录D 1.5 标识符 是程序员选择的名字,用来识别变量、常量、过程或代码标号: 1~247个字符 默认大小写不敏感 第一个:字母、下划线、@、$,后续可以有数字 不能与保留字相同 命令行加-Cp可以使其大小写敏感 尽量避免以@开头 1.6 伪指令 伪指令:源代码被编译时由编译器识别和执行的指令。 用于定义逻辑段、选择内存模式、定义变量和创建过程等 不区别大小写 .code .data PROC ENDP 1.7 指令 指令时在程序被加载至内存并且开始运行后,在运行期由处理器执行的语句。 标号(可选) 指令助记符(必需) 操作数(通常需要) 注释(可选) 标号: 指令助记符 操作数 ;注释 1.7.1 标号 标号是充当指令或数据位置标记的标识符。 代码标号:程序代码区(存放指令的地方)中的标号必须以冒号结尾。 数据标号:用于程序的数据区(定义变量的地方),不必用冒号结尾。 target: mov ax,bx …… jmp target first BYTE 10 1.7.2 指令助记符 指令助记符是一个简短的单词,用于标识某个指令要执行的操作。 mov add sub mul jmp call 1.7.3 操作数 一条汇编指令可以有0~3个操作数; 每个操作数可以是寄存器、内存操作数、常量表达式或I/O端口。 stc inc ax mov count,bx shld ax,bx,1 1.7.4 注释 单行注释:“;” 块注释:以COMMENT伪指令以及用户定义的符号开始 COMMENT ! This line is a comment. This line is also a comment. ! COMMENT This line is a comment. This line is also a comment. 2. 例子:三个整数相加减 TITLE Add and Subtract (AddSub.asm) ;This program adds and subtracts 32-bit integers INCLUDE Irvine32.inc .code main PROC mov eax,10000h add eax, 40000h sub eax, 20000h call DumpRegs exit main ENDP END main 调用一个显示cpu寄存器值的子程序 调用MS-windows函数来终止程序,不是MASM的关键词,而是Irvine32.inc中定义的命令 指示该行为汇编源程序的最后一行,main是指程序的入口函数 .386 .MODEL flat , stdcall .STACK 4096 ExitProcess PROTO , dwExitCode : DWORD DumpRegs PROTO 2.2 程序模板 TITLE Program Template (Template.asm) ;程序描述: ;作者: ;创建日期: ;版本: ;修改日期: 修改者: INCLUDE Irvine32.inc .data ;(在此插入变量)

文档评论(0)

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

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

1亿VIP精品文档

相关文档