- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows 32位汇编语言程序设计体系结构—第三节IA-32指令系统 宋军 计算机学院信息安全系 songjun@cug.edu.cn 主要内容 IA-32通用指令集 数据传送类指令 算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理机控制类指令 其他类 IA-32指令系统 计算机的指令系统是指计算机能够执行的全部指令的集合 。 IA-32CPU指令系统包括: ① 通用指令 ② 浮点运算指令 ③ SIMD指令 ④ MMX指令(多媒体扩展指令集 ) ⑤ SSE/SSE2/SSE3指令(单指令多数据流扩展 ) ⑥ 系统指令 ⑦ 64位模式的指令 通用指令集合 ① 数据传送类指令 ② 算术运算类指令 ③ 位操作类指令 ④ 串操作类指令 ⑤ 控制转移类指令 ⑥ 处理机控制类指令 ⑦ 其他类 数据传送指令 数据传送是计算机中最基本、最重要的一种操作 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握 MOV XCHG PUSH POP LEA 要小心段寄存器的操作 不允许立即数传送给段寄存器 MOV DS,100H ;非法指令:立即数不能传送段寄存器 不允许直接改变CS值 MOV CS,[SI] ;不允许使用的指令 不允许段寄存器之间的直接数据传送 MOV DS,ES ;非法指令:不允许段寄存器间传送 地址传送指令 地址传送指令将存储器单元的逻辑地址送至指定的寄存器 有效地址传送指令 LEA 指针传送指令 LDS 和 LES(LFS/LGS/LSS) 注意:不是获取存储器单元的内容 有效地址传送指令LEA 将存储器操作数的有效地址传送至指定的寄存器中。 在实模式下,使用16位寄存器 在保护模式下,使用32位寄存器 该指令通常用来对指针或变址寄存器EBX、EDI或ESI等置初值之用。 LEA 与 OFFSET lea CPU指令 标号/变量、表达式 综合实例 .386 .model flat, stdcall .data val1 WORD 1000h val2 WORD 2000h arrayB BYTE 10h,20h,30h,40h,50h arrayW WORD 100h,200h,300h arrayD DWORD 10000h,20000h .code start: ; 内存与内存之间的数据交换 mov ax,val1 ; AX = 1000h xchg ax,val2 ; AX = 2000h, val2 = 1000h mov val1,ax ; val1 = 2000h ; 字节数组访问 mov al,arrayB ; AL = 10h mov al,[arrayB+1] ; AL = 20h mov al,[arrayB+2] ; AL = 30h ; 字数组访问 mov ax,arrayW ; AX = 100h mov ax,[arrayW+2] ; AX = 200h ; 双字数组访问 mov eax,arrayD ; EAX = 10000h mov eax,[arrayD+4] ; EAX = 20000h mov eax,[arrayD+TYPE arrayD] ; EAX = 20000h lea ebx, [arrayD+4] mov eax, [ebx] END start 算术运算指令 算术运算是IA-32指令系统中另外一种基本的操作,可以用来执行字节,字或双字的二进制加减乘除算术运算。 这类指令根据计算结果设置相应标志位。 ADD、ADC、INC SUB、SBB、DEC MUL、IMUL DIV、IDIV 加法指令 执行双字,字或字节的加法运算。 指令将目的操作数加上源操作数,结果送到目的操作数 ADD:无符号算术运算 ADC:带进位算术运算 INC:加1 加法指令 .data var1 dword 10000h var2 dword 2000h .code start: mov al,0fbh ;al=0fbh add al,07h ;al=02h mov eax, var1 ;eax=10000h add eax, var2 ;eax=12000h ret 增量指令INC(increment) INC指令对操作数加1(增量) INC指令不影响进位CF标志,按定义设置其他状态标志 减法指令 SUB指令将目的操作数减去源操作数,结果送到目的操作数 SUB指令按照定义相应设置状态标志 减量指令DEC(decrement) DEC指令对操作数减1(减量) DEC指令不影响进位CF标志,按定义设置其他状态标
您可能关注的文档
- 1 下面程序的功能是从键盘输入1个大于100的整数m.doc
- 2 linux基本命令与图形界面.ppt
- 2.3 线行链表及其运算.ppt
- 2matlab基本命令集.ppt
- 3-2-2 汇编语言基础伪指令1.ppt
- 3 基本指令及其应用.ppt
- 3S7-200系列PLC的基本指令及应用.ppt
- 03计算机硬件技术基础专题四.ppt
- 4-9广东工业大学--DSP 信号处理复习提纲.doc
- 4,5单片机技术基础第三章.ppt
- 执业药师之《药事管理与法规》检测卷讲解含答案详解(最新).docx
- 执业药师之《药事管理与法规》全真模拟模拟题及答案详解(全国通用).docx
- 2025年执业药师之《西药学综合知识与技能》模拟试题附参考答案详解(突破训练).docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库含答案详解(培优a卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题精选附答案详解(名师推荐).docx
- 执业药师之《药事管理与法规》强化训练模考卷带答案详解.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺测试卷包附参考答案详解(b卷).docx
- 2025年执业药师之《西药学综合知识与技能》模考模拟试题及参考答案详解(夺分金卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题含答案详解【b卷】.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库带答案详解(b卷).docx
最近下载
- 贵州省事业单位人员聘用合同书.doc VIP
- 4.建筑施工企业项目负责人安全生产考核合格证书样本.pdf VIP
- 贵州省事业单位人员聘用合同书范本.docx VIP
- 皮带接头硫化上.pptx VIP
- 陕西省事业单位合同5篇.docx VIP
- 贵州省事业单位人员聘用合同书(合同范本).pdf VIP
- SYT 4201.2-2019 石油天然气建设工程施工质量验收规范 设备安装工程 第2部分:塔类.docx VIP
- SYT 4201.4-2019 石油天然气建设工程施工质量验收规范设备安装工程 第4部分:炉类.docx VIP
- 解读2021新安全生产法课件PPT(内容完整).pptx VIP
- SY_T 4201.3-2019 石油天然气建设工程施工质量验收规范 设备安装工程 第3部分:容器类.docx VIP
文档评论(0)