西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第四章 指令及汇编语言源程序结构

第4章佑指令及汇编语言源程序结构 第4章指令及汇編语言源程序结构 41汇编程序结构 42汇编语言语句格式 43伪指令语句 44标号、变量和表达式 45段的组织 46程序段前缀 BACK
第4章 伪指令及汇编语言源程序结构 第4章 伪指令及汇编语言源程序结构 4.1 汇编程序结构 4.2 汇编语言语句格式 4.3 伪指令语句 4.4 标号、变量和表达式 4.5 段的组织 4.6 程序段前缀

第4章佑指令及汇编语言源程序结构 4.1汇编程序结构 4.1.1寄存器组和语法元素 1.80x86的可编程的寄存器组 1)通用寄存器组 EAX、EBX、ECX、EDX、ESⅠ、EDI、EB和ESP是32位可编程 的通用寄存器,即程序员编程可以使用的寄存器。其中低16位 用AX、BX、CX、DX、SⅠ、DⅠ、BP或SP表示。AX、BX、CX、DX还 可以分成两个8位寄存器,即低8位为AL、BL、CL、DL;高8位为 AH、BH、CH、DH
第4章 伪指令及汇编语言源程序结构 4.1 汇编程序结构 4.1.1 寄存器组和语法元素 1.80x86的可编程的寄存器组 1) 通用寄存器组 EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP是32位可编程 的通用寄存器,即程序员编程可以使用的寄存器。其中低16位 用AX、BX、CX、DX、SI、DI、BP或SP表示。AX、BX、CX、DX还 可以分成两个8位寄存器,即低8位为AL、BL、CL、DL;高8位为 AH、BH、CH、DH

第4章佑指令及汇编语言源程序结构 2)段寄存器 8086有4个16位的段寄存器:CS、SS、DS、ES,而80486有 六个16位的段寄存器:CS、SS、DS、ES、FS和GS。在实地址方 式下,段寄存器的内容左移4位而得到段基地址。在保护方式下, 段寄存器存放的是描述符的选择符 3)指令计数器 指令计数器保存下一条指令相对于CS段基地址的偏移值, 它可作16位用,也可作32位用。指令计数器采用16位段时用IP, 采用32位段时用EIP。调试程序时,(E)IP的值显示的是下条要 执行的指令在CS段中的偏移地址
第4章 伪指令及汇编语言源程序结构 2) 段寄存器 8086有4个16位的段寄存器:CS、SS、DS、ES,而80486有 六个16位的段寄存器:CS、SS、DS、ES、FS和GS。在实地址方 式下,段寄存器的内容左移4位而得到段基地址。在保护方式下, 段寄存器存放的是描述符的选择符。 3) 指令计数器 指令计数器保存下一条指令相对于CS段基地址的偏移值, 它可作16位用,也可作32位用。指令计数器采用16位段时用IP, 采用32位段时用EIP。调试程序时,(E)IP的值显示的是下条要 执行的指令在CS段中的偏移地址

第4章佑指令及汇编语言源程序结构 4)标志寄存器 EFLAGS是一个32位的标志寄存器,可用指令 PUSHFD压入堆 栈,指令 POPFD从堆栈弹出。可对 EFLAGS的低16位 FLAGS单独进 行操作,通过 PUSHF将其压入堆栈,POPF从堆栈弹出 5)控制寄存器 4个32位控制寄存器CRO、CR1、CR2、CR3中的3个,即CRO、 CR2、CR3为程序员使用。Inte公司保留了CR1。使用MOV指令传 送控制寄存器CRO、CR2、CR3中的内容。例如,指令 MOV CR0, EBX实现的功能就是将EBX的内容送到CRO中
第4章 伪指令及汇编语言源程序结构 4) 标志寄存器 EFLAGS是一个32位的标志寄存器,可用指令PUSHFD压入堆 栈,指令POPFD从堆栈弹出。可对EFLAGS的低16位FLAGS单独进 行操作,通过PUSHF将其压入堆栈,POPF从堆栈弹出。 5) 控制寄存器 4个32位控制寄存器CR0、CR1、CR2、CR3中的3个,即CR0、 CR2、CR3为程序员使用。Intel公司保留了CR1。使用MOV指令传 送控制寄存器CR0、CR2、CR3中的内容。例如,指令MOV CR0, EBX实现的功能就是将EBX的内容送到CR0中

第4章佑指令及汇编语言源程序结构 6)调试寄存器 DR4和DR5为 Intel公司保留,程序员编程时不能使用DR4和 DR5,其余的调试寄存器的内容可通过MOV指令传送。例如,指 令 MOV EAX,DR6是将调试寄存器DR6中的内容送到EAX中。 7)测试寄存器 程序员编程时能使用的测试寄存器只有TR6和TR7,其他为 Intel公司保留,则不能使用。例如,指令 MOV ECX,TR7实现 的功能就是将TR7的内容送到ECX中
第4章 伪指令及汇编语言源程序结构 6) 调试寄存器 DR4和DR5为Intel公司保留,程序员编程时不能使用DR4和 DR5,其余的调试寄存器的内容可通过MOV指令传送。例如,指 令MOV EAX,DR6是将调试寄存器DR6中的内容送到EAX中。 7) 测试寄存器 程序员编程时能使用的测试寄存器只有TR6和TR7,其他为 Intel公司保留,则不能使用。例如,指令MOV ECX,TR7实现 的功能就是将TR7的内容送到ECX中

第4章佑指令及汇编语言源程序结构 8)系统地址寄存器 80486用4个寄存器把在保护模式中常用的数据结构基地址、 限制和其他属性保存起来,以确保其快速性。这4个寄存器是: 全局描述符寄存器GDTR、局部描述符寄存器LDTR、中断描述符 寄存器IDTR和任务寄存器TR。与这4个寄存器有关的指令是LGDT LIDT、LLDT、LTR、LGDT或LIDT,实现的功能就是将内存中六个 字节的内容装入GDTR或IDTR中。LLDT或LTR把寄存器或内存中两 个字节的内容装入LDTR或TR中,与上述4条指令传送方向相反的 指令是SGDT、SIDT、SGDT、STR。注意这里任务寄存器TR与测试 寄存器TR6、TR7的区别
第4章 伪指令及汇编语言源程序结构 8) 系统地址寄存器 80486用4个寄存器把在保护模式中常用的数据结构基地址、 限制和其他属性保存起来,以确保其快速性。这4个寄存器是: 全局描述符寄存器GDTR、局部描述符寄存器LDTR、中断描述符 寄存器IDTR和任务寄存器TR。与这4个寄存器有关的指令是LGDT、 LIDT、LLDT、LTR、LGDT或LIDT,实现的功能就是将内存中六个 字节的内容装入GDTR或IDTR中。LLDT或LTR把寄存器或内存中两 个字节的内容装入LDTR或TR中,与上述4条指令传送方向相反的 指令是SGDT、SIDT、SGDT、STR。注意这里任务寄存器TR与测试 寄存器TR6、TR7的区别

第4章佑指令及汇编语言源程序结构 ,,,气, 2.语法规则和语法要素 )字符集 汇编语言字符集是 ASCII字符集的一个子集,源文件中的每 个字符都应该是下列字符之一: (1)字母26个英文大小写字母; (2)数字0~9 (3)特殊字符+-×/( ?@$&: (4)定界符空格符、制表符、回车符(CR)、换行符(LF)
第4章 伪指令及汇编语言源程序结构 2.语法规则和语法要素 1) 字符集 汇编语言字符集是ASCII字符集的一个子集,源文件中的每 一个字符都应该是下列字符之一: (1) 字母 26个英文大小写字母; (2) 数字 0~9; (3) 特殊字符 + - × / ( ) [ ] ; ’ 。 ” - : ? @ $ &; (4) 定界符 空格符、制表符、回车符(CR)、换行符(LF)

第4章佑指令及汇编语言源程序结构 程序中出现不在上列字符集中的字符,汇编系统把该字符 当作一个逻辑空格符来处理。逻辑空格符就是把多个连续的空 格符或制表符当作一个空格符来处理。 在程序中,字母的大小写是无关的,可以互换。但是字符 串中的字母大小写是不能互换的,如‘XYZ与‘xyz,是不相 等的字符串
第4章 伪指令及汇编语言源程序结构 程序中出现不在上列字符集中的字符,汇编系统把该字符 当作一个逻辑空格符来处理。逻辑空格符就是把多个连续的空 格符或制表符当作一个空格符来处理。 在程序中,字母的大小写是无关的,可以互换。但是字符 串中的字母大小写是不能互换的,如‘XYZ’与‘ xyz’,是不相 等的字符串

第4章佑指令及汇编语言源程序结构 2)标识符 个标识符是程序员用来定义段、变量、标号或常量等项目 的名字。一个有效的标识符应遵循以下规则: (1)标识符的首位字符必须是一个字母或下述3个特殊字符之 ?(问号)、@(AT符号)、(下划线符号) (2)其余的字符可以是字母、数字或是上面3个特殊字符,标 识符中间不能有分隔符(逻辑空格或定界符); (3)一个标识符可有长达255个字符,系统只识别前31个字符; (4)一个程序模块内的每一个标识符只代表而且仅仅代表一 个项,在模块的任何地方都可以通过标识符访问它所表示的项
第4章 伪指令及汇编语言源程序结构 2) 标识符 一个标识符是程序员用来定义段、变量、标号或常量等项目 的名字。一个有效的标识符应遵循以下规则: (1) 标识符的首位字符必须是一个字母或下述3个特殊字符之 一: ? (问号)、@ (AT符号)、_ (下划线符号) (2) 其余的字符可以是字母、数字或是上面3个特殊字符,标 识符中间不能有分隔符(逻辑空格或定界符); (3) 一个标识符可有长达255个字符,系统只识别前31个字符; (4) 一个程序模块内的每一个标识符只代表而且仅仅代表一 个项,在模块的任何地方都可以通过标识符访问它所表示的项

第4章佑指令及汇编语言源程序结构 )关键字和保留字 汇编语言的关键字和保留字都是系统自己预定义的标识符 关键字指的是指令助记符,如加法指令ADD、中断返回指令 IRET等。保留字指的是伪指令或其他功能符号,如 ISEGMENT DWORD等
第4章 伪指令及汇编语言源程序结构 3) 关键字和保留字 汇编语言的关键字和保留字都是系统自己预定义的标识符。 关键字指的是指令助记符,如加法指令ADD、中断返回指令 IRET等。保留字指的是伪指令或其他功能符号,如SEGMENT、 DWORD等
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第三章 寻址方式和指令系统.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第二章 微处理器的结构及存储器组成.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第一章 基础知识.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第十章 中断和输入/输出程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)目录(编著:李强、温春).ppt
- 北方交通大学:《电子商务的系统分析与设计》 第九章 电子商务系统安全子系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第八章 电子支付与交易系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第七章 商务应用系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第六章 企业信息门户设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第五章 电子商务系统设计.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第四章 系统分析.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第十一章 案例分析.ppt
- 北方交通大学:《电子商务的系统分析与设计》 第十章 系统实施与维护管理.ppt
- 北方交通大学:《电子商务的系统分析与设计》 绪论.ppt
- 《电子商务》电子课件 (共五章).ppt
- 《ASP程序设计》 第十四章 设计实例.ppt
- 《ASP程序设计》 第十三章 容错环节与ASP程序调试.ppt
- 《ASP程序设计》 第十二章 Web数据库的操作.ppt
- 《ASP程序设计》 第四章 RequestResponse和对象.ppt
- 《ASP程序设计》 第十章 Web数据库基础.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第五章 基本结构程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第六章 子程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第七章 复杂汇编程序设计.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第八章 高级汇编技术.ppt
- 西安电子科技大学出版社:《汇编语言程序设计 Assembly Language Programming》课程教材电子教案(PPT课件讲稿)第九章 程序设计的一些编程技巧.ppt
- 《C++语言》课程教学资源(作业习题)作业题1.doc
- 《C++语言》课程教学资源(作业习题)作业题2.doc
- 《C++语言》课程教学资源(PPT课件讲稿)第一章 绪论——面向对象的程序设计语言.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第二章(2-6)赋值表达式和类型转换.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第三章(3-4)循环的中断.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第四章(4-10)编译预处理.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第六章 指针和引用.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第六章(6-4)指针和动态内存分配.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第七章 计算用户输入的一个正整数各位之和.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第八章 类和对象.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第九章(9-3)拷贝初始化构造函数.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十章 顺序表.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十章(10-4)虚基类.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十一章(11-3)静态成员.pps
- 《C++语言》课程教学资源(PPT课件讲稿)第十二章(12-2)几个特殊运算符的重载.pps