08_ 第三章 Intel处理器指令系统与汇编语言_1.ppt

08_ 第三章 Intel处理器指令系统与汇编语言_1.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据定义语句 语句格式 [名称] 数据定义伪指令 初始值[,初始值]… 例: .data value1 BYTE 10h value2 BYTE ? list1 BYTE 10,20,30,40 BYTE 50,60,70,80 list2 BYTE 32,41h,a greeting BYTE Good afternoon,0dh,0ah,0 array WORD 5 DUP(?) ;5个未初始化的值 value3 DWORD 符号常量 不占用任何实际的存储空间。 等号 例: COUNT = 500 ESC_key = 27 array byte COUNT DUP(0) mov cx,COUNT mov al,ESC_key EQU 如 maxint equ 0ffh 计算数组和字符串的大小 例: list1 BYTE 10,20,30,40 List1Size = ($ - list1) myString BYTE This is a long string, BYTE Containing any number BYTE of characters,0dh,0ah MyString_len = ($ - myString) list2 WORD 1000h,2000h,3000h,4000h List2Size = ($ - list2)/2 微机原理及接口技术 第3章 Intel处理器指令系统及汇编语言 本节要点 数据传送指令 加法和减法 和数据传送相关的操作符和伪指令 间接寻址 JMP和LOOP指令 (一)数据传送指令 1. 操作数类型 立即操作数(immediate) imm:8、16或32位立即数 imm8:8位立即数(字节) imm16:16位立即数(字) imm32: 32位立即数(双字) 寄存器操作数(register) reg:任意的通用寄存器 sreg:16位段寄存器CS、DS、SS、ES、FS、GS r8:AH、AL、BH、BL、CH、CL、DH、DL r16:AX、BX、CX、DX、SI、DI、SP、BP r32:EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP 内存操作数(memory) mem:8、16或32位内存操作数 (一)数据传送指令 1. 操作数类型 其它形式 r/m8:8位操作数(8位通用寄存器或内存字节) r/m16:16位操作数(16位通用寄存器或内存字) r/m32:32位操作数(32位通用寄存器或内存双字) (一)数据传送指令 2. 直接内存操作数 .data ………… var1 BYTE 55h var2 BYTE 10h var3 BYTE 0aah .code mov ax,@data mov ds,ax ………… mov al,[1040h] ;假设var1位于偏移1040h处 ………… mov al,var1 ;使用var1的符号名 mov al,[var1] ;上一条语句的另一种写法 mov al,[var1+2] ;直接偏移操作数 ………… (一)数据传送指令 3. MOV指令 mov destination,source 回忆:C++或Java中的赋值语句 dest = source; MOV指令需要遵循的规则: 两个操作数的尺寸必须一致。 两个操作数不能同时为内存操作数。 目的操作数不能是CS,EIP和IP。 立即数不能直接送至段寄存器。 (一)数据传送指令 3. MOV指令 MOV指令的具体格式: mov reg,reg mov mem,reg mov reg,mem mov mem,imm mov reg,imm 段寄存器仅用于实地址模式下运行的程序。 mov r/m16,sreg mov sreg,r/m16 内存之间的移动 通过寄存器暂存。 (一)数据传送指令 4. 整数的零/符号扩展 1)MOVZX指令 含义:move with zero-extend 格式: movzx r32,r/m8 movzx r32,r/m16 movzx r16,r/m8 (一)数据传送指令 4. 整数的零/符号扩展 1)MOVZX指令 例: (一)数据传送指令 4. 整数的零/符号扩展 2)MOVSX指令 含义:move with sign-extend 格式: movsx r32,r/m8 movsx r32,r/m16 movsx r16,r/m8 (一)数据传送指令

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档