- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计02数据表示与汇如编语言基础
汇编数据定义 汇编语言的数据定义格式: 数据类型同时也是数据定义的伪指令 数据的初始值: 至少有一个确定的初始值,或者使用“?”以不给变量分配初始值 如果有超过一个的初始值 ,初始值之间用“,”分隔 传统汇编语言每行一条指令 汇编语言程序设计 - 朱明 * [名称] 数据定义伪指令 初始值 [,初始值] value2 SBYTE -128 word1 WORD 65535, 54321,1 汇编数据定义 多个初始值的定义方式 MASM允许使用行延续符号“\” 行延续符号只能在每行最后 汇编语言程序设计 - 朱明 * .data lists BYTE 10, 20 BYTE 30, 40 WORD 50, 60 10 20 30 40 50 60 value offset 0000h 0001h 0003h 0002h 0004h 0006h 汇编数据定义 重复初始值的定义方式 定义字符串 一般的字符串应当以空字符结尾 字符串中可能经常用到0Dh和0Ah,分别表示回车和换行的操作 汇编语言程序设计 - 朱明 * value2 BYTE 20 DUP(0) BYTE 20 DUP(?) BYTE 3 DUP(“STACK”) strings1 BYTE “hello world”,0 strings2 BYTE ‘h’,’e’,’l’, … 存储数据DWORD 数据的高位存储在什么样的地址单元中的区别 小尾顺序使用的更为广泛 数据存储顺序 汇编语言程序设计 - 朱明 * 78 56 34 12 0001h 0000h 0002h 0003h 小尾顺序 little endian 12 34 56 78 0001h 0000h 0002h 0003h 大尾顺序 big endian TITLE add and subtract ; This is a example, 32-bit integers INCLUDE irvine32.inc .code main PROC mov eax,10000h ;eax add eax,40000h ;add sub eax,20000h ;sub call DumpRegs exit main ENDP END main 程序改进 如何改进的加减法程序:增加变量 汇编语言程序设计 - 朱明 * val1 val2 + - val3 = finalVal 如何改进的加减法程序:增加变量 TITLE add and subtract ; This is a example, 32-bit integers INCLUDE irvine32.inc .data val1 DWORD 10000h val2 DWORD 40000h val3 DWORD 20000h finalVal DWORD ? .code main PROC mov eax,val1 ;eax add eax,val2 ;add sub eax,val3 ;sub mov finalVal,eax call DumpRegs exit main ENDP END main 程序改进 汇编语言程序设计 - 朱明 * val1 val2 + - val3 = finalVal 变量初始化 前面的程序中使用了如下的方式声明了变量 .data用于定义已经初始化的数据段的开始(_data) .data?用于定义未初始化的数据段的开始(_BSS) 在定义大块的未初始化数据时,可以减小编译后的程序大小 DWORD 5000 DUP(?) 之后 汇编语言程序设计 - 朱明 * .data val1 DWORD 10000h finalVal DWORD ? .data? val1 DWORD 10000h finalVal DWORD ? 章节回顾 本章中以下内容是应当掌握 汇编语言指令的基本格式 计算机常用的数据表达形式 汇编语言程序的基本书写格式 汇编语言的汇编、链接和执行过程 编译和链接过程中生成的各类文件 MASM的基本数据类型和数据定义 汇编语言变量的声明和使用方法 汇编语言变量的存储和空间分配 汇编语言程序设计 - 朱明 * 章节回顾 以下的问题我们应当轻松回答 我们常用的整型常量的后缀通常是什么?什么含义? 标识符是的作用是什么?标识符需要遵循什么规则? 简要说明一下前面的Sect2_P22.asm中的INCLUDE伪指令、.code伪指令的作用、程序中所包含的段的名字、CPU中寄存器的显
原创力文档


文档评论(0)