第4章语言基础-新解释.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言基础 本章重点 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集 汇编语言(Assembly Language)是面向机器的程序设计语言。 在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码书写程序,使程序编写更加简单、容易,大大提高了编程效率,用汇编语言书写出的程序就称为汇编语言源程序。 汇编语言也称为符号语言。 数据传送Data Transfer 算术运算Arithmetic 逻辑运算和移位logic 串操作string manipulation 控制转移类control transfer 处理器控制processor control 指令格式 指令中应包含的信息 2)寄存器操作数 寄存器操作数存放在CPU的8个通用寄存器或4个段寄存器中,既可以用作源操作数也可以用作目的操作数;但CS一般不作为目的操作数; 个别指令将FLAGS作为操作数 3)存储器操作数 存储器操作数可以是字节、字、双字,分别存在1个、2个、4个存储单元中;它既可以用作源操作数也可以用作目的操作数; 注意:对大多数指令,不允许源操作数和目的操作数同时为存储器操作数,即不允许存储器到存储器的操作。 存储器单元的地址由两部分组成:段基址和偏移地址(也叫有效地址),所以各种存储器操作,都涉及到段寄存器。 一条指令的执行时间应包括取指令、取操作数、执行指令及传送结果4部分时间,通常用时钟周期数来表示; 不同的指令在执行时间上有很大差别。 寻址方式是指CPU寻找操作数或操作数地址的方法 2 直接寻址(Direct Addressing) 4.寄存器间接寻址(Register Indirect Addressing) CPU的寻址方式总结 获得操作数所在地址的寻址方式: 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 寄存器相对寻址 基址--变址寻址 基址--变址—相对寻址 隐含寻址 DATA 8位或16位的立即数 OPRD 各种类型的操作数 REG 通用寄存器,长度可以使8位或16位 mem 存储器操作数 acc 累加器操作数 dest 目的操作数 src 源操作数 disp 8位或16位的位移量,可用符号地址表示 SEGREG 段寄存器CS、DS、SS、ES port 输入输出端口(地址) ( ) 表示寄存器的内容 [ ] 表示存储器操作数,括号内容表示偏移地址 1. 数据传送类指令 MOV AX,BX ;BX中16位数据传送到AX MOV SI,BP ;BP中16位数据传送到SI MOV AH,BL ;BL中8位数据传送到AH MOV AX,03FFH ;执行后(AX)=03FFH MOV SP,2000H ;执行后(SP)=2000H MOV BX,1000 ;执行后(BX)=03E8H MOV SI,057BH ;执行后(SI)=057BH MOV CL, ′ * ′ ;执行后(CL)=2AH(*的ASCII码) MOV指令的两个操作数类型必须相同; MOV AX,BL 错误! 两个操作数不能同时为内存; MOV [BX],[SI] 错误! 不能用立即数直接给段寄存器赋值; MOV DS,DATA 错误! 不能用立即数做目的操作数; 不能在段寄存器之间进行直接数据传送; MOV DS,ES 错误! FLAGS整体不作为操作数; IP和CS的内容不能通过MOV指令修改,即它们不能作为目标操作数,但可以作为源操作数。 数据块传送 例:把内存中首地址为MEM1的200个字节送到首地址为MEM2的区域; MOV SI,OFFSET MEM1 MOV DI,OFFSET MEM2 MOV CX,200 NEXT: MOV AL,[SI] MOV [DI],AL INC SI INC DI DEC CX JNZ NEXT HLT ① 压栈指令 PUSH src ; src为16位操作数 指令的操作数必须是16位的 操作数可以是寄存器或存储器两单元,但不能是立即数 不能从栈顶弹出一个字给CS PUSH和POP指令在程序中一般成对出现 PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反 SP自动进行增减量(-2

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档