第五章 指令系统及顺序结构程序设计_第1页
第五章 指令系统及顺序结构程序设计_第2页
第五章 指令系统及顺序结构程序设计_第3页
第五章 指令系统及顺序结构程序设计_第4页
第五章 指令系统及顺序结构程序设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章指令系统与顺序结构程序程序

§5.1数据传送指令及数据传送程序设计【寻址参数说明】IMM:立即数;IMM8,IMM16。REG:寄存器;REG8,REG16,SEGREG。MEM:存储器;MEM8,MEM16,MEM32。【指令类型说明】数据传送类;算术运算类;位操作类(位运算、移位)串操作类;转移类;处理器控制类;输入输出类;第五章顺序结构程序程序

§5.1数据传送指令及数据传送程序设计一、通用数据传送指令1.数据传送指令-MOV(P33)

格式、作用、说明、操作数组合关系(P51)类型一致性(PTR)

例:3.12-3.14第五章顺序结构程序程序

§5.1数据传送指令及数据传送程序设计一、通用数据传送指令2.堆栈指令-PHSH、POP(P34)

堆栈与作用:保护、交换、子程序参数传递堆栈操作:PHSH、POP格式

PUSHREG16;POPREG16PUSHMEM16;POPMEM16PUSHF;POPF

PHSH、POP格式执行过程例:3.15-3.17、课上补充第五章顺序结构程序程序

§5.1数据传送指令及数据传送程序设计一、通用数据传送指令3.交换指令-XCHG(P35)【格式】XCHGREG,REG;XCHGREG,MEM;XCHGMEM,REG二、累加器专用传送指令-XLAT(P35)

指令格式:XLAT

执行过程:[DS:(BX+AL)]->(AL)作用:换码。(编码转化)例:3.18。*IN、OUT:在“第十章输入/输出程序设计”中讲。第五章顺序结构程序程序

§5.1数据传送指令及数据传送程序设计三、地址传送指令-LEA、LDS、LES(P36)1.装入有效地址-LEA格式、作用、例:3.21。2.装入32位地址-LDS、LES格式、作用、例:3.22。地址传送指令的说明。四、标志传送指令-LAHF、SAHF、PHSHF、POPF(P36)五、数据传送指令综合表-P32/表3.4第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计二、加法指令1.加法指令与含义

ADD、ADC、INC

2.允许的操作数方式

INC:REG/MEMADD,ADC:regreg;regmem;

memdata;regdata

;第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计一、算术运算指令综合表-P32/表3.4二、加法指令(P38)1.加法指令与含义

ADD、ADC、INC

2.允许的操作数方式

INC:reg/memADD,ADC:REGREG;REGMEM;

MEMIMM;REGIMM

;第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计二、加法指令3.对标志位的影响ADD,ADC:影响ZF,SF,OF,CFINC:影响ZF,SF,OF4.标志位的设置方法与目的⑴ZF:结果=0,ZF=1;结果≠0,ZF=0。反映了“结果是否为零”。⑵SF:与结果的符号位相同。反映了“带符号数结果的正负”。⑶OF:两操作数符号相同而结果符号相反,OF=1;其他情况,OF=0。

标志着“带符号数的加法溢出”:OF=1溢出;OF=0不溢出。⑷CF:结果的最高位有进位,CF=1;结果的最高位无进位,CF=0。标志着“不带符号数的加法溢出”:CF=1溢出;CF=0不溢出。(5)ADC的作用:用于实现“多字节(字)”加法运算。(6)INC的作用:快速加1。第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计二、加法指令(P38)5.实例

3.23-3.25清华第一版P46:标志作用的实例[补充:清华第一版P46]ADDDX,0F0F0H;DX=4652H[补充:清华第一版P46]DX=0002H;AX=0F365H;BX=0005H;CX=0E024HADDAX,CXADCDX,BX第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计三、减法指令(P39)SUB、SBB、DEC、CMP、NEGCMP:相当于SUB,但结果不回送,只改变标志位,

用于转移控制。

NEG:单操作数指令,求补。[例:清华P48/3.33]设DS=3000,SI=0040,(30054H)=4336H,执行SUB[SI+14H],0136H后的结果及标志。[例:清华P48/3.34]设SS=0000,BP=00E4H,(000E8H)=5AH,

DH=A1H,执行SUBDH,[BP+04]后的结果及标志。第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计四、乘法指令(P39)

乘法指令MUL/IMUL乘法指令格式MUL/IMULREG/MEM(有一个操作数隐含为AL或AX,具体AL还是AX,由REG/MEM决定,MEM时加PTR)8/16位数操作问题由reg/mem的数据性质决定

溢出问题不会溢出

第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计四、乘法指令(P39)IMUL的符号扩展问题例:BX=1F1FH,AX=1010H,执行IMULBX后AX,DX=?例:BX=9F1FH,AX=0001H,执行IMULBX后AX,DX=?符号扩展指令CBW:AL的符号位扩展至AX

CWD:AX的符号位扩展至DX。第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计四、乘法指令(P39)符号位影响CF,OF;其它位“无意义”。CF,OF的设置:①IMUL:当高16/8位是低16/8位的“符号扩展”。②MUL:当高16/8位是0。CF=0,OF=0。其他情况:CF=1,OF=1。反映了:8*8位运算结果是否仍为8位或16*16位运算结果是否仍为16位

第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计四、乘法指令(P39)

[例P40/例3.26]

第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计五、除法指令(P39)

除法指令DIV/IDIV除法指令格式DIV/IDIVSRC(被除数隐含为AX或DX,AX)除数允许的操作数方式reg/mem8/16位数操作问题

32/16,或16/8形式,由reg/mem的数据性质决定

除法结果存储商:AX(AL)余数:DX(AH)

第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计五、除法指令(P39)

结果符号商的符号:正/余数符号:与被除数符号相同结果溢出,包括除0溢出产生0号软中断标志位不确定符号扩展指令CBW/CWD常用于除法指令前,用于协调被除数位数。第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计六、四则运算综合实例

[例]计算(V-(X*Y+Z-540))/X;其中:X,Y,Z,V均为16位带符号数,结果要求:商存于AX,余数存于DX。

[混合四则运算的实现要点]⑴存储单元设计与运算过程设计⑵格外注意中间结果的位数⑶对除法(乘法)的符号扩展问题⑷32位数的配对寄存器,(DX,AX),(CX,BX),*(DI,SI)六、四则运算综合实例计算(V-(X*Y+Z-540))/X;

MOVAX,X;(DX,AX)←X*YIMULMOVCX,AX;(BX,CX)←(DX,AX)MOVBX,DXMOVAX,Z;(DX,AX)

←ZCWDADDCX,AX;(BX,CX)←(X*Y)+ZADCBX,DXSUBCX,540;(BX,CX)←(BX,CX)-540SBBBX,0MOVAX,V;(DX,AX)

←VCWDSUBAX,CX;(DX,AX)←(DX,AX)-(BX,CX)SBBDX,BXIDIVX;(DX,AX)←(DX,AX)/X第五章顺序结构程序程序

§5.2算术运算指令及算术运算程序设计七、作业【补充1】X,Y,Z,W均为16位无符号数,编程实现(1)Z←2*X-3*Y+W;(2)W←(X-2)/2+Y;如果X,Y,Z,W均为16位带符号数,程序又如何。【补充2】假设(AX)=62A0H,分别执行下列指令后,(AX)=?,SF,ZF,CF,OF分别为何?反映出什么问题?

(1)ADDAX,1234H(2)ADDAX,4321H(3)ADDAX,0CFA0H(4)ADDAX,9D60H第五章顺序结构程序程序

§5.3逻辑运算指令及逻辑运算程序设计一、逻辑运算指令(P42)

逻辑运算指令

:AND/OR/NOT/XOR/TEST操作数的寻址方式regreg/regmem/memdata/regdata对标志位的影响

NOT:不影响标志位

其他:CF,OF=0;影响SF,ZF,PF。典型应用P42;AND用于屏蔽、OR用于置位、XOR用于清零第五章顺序结构程序程序

§5.3逻辑运算指令及逻辑运算程序设计二、移位运算指令(P42)1.移位指令及其目的◆算术移位:SAL/SAR用于带符号数的乘2n/除2n运算。◆逻辑移位:SHL/SHR①用于无符号数的乘2n/除2n运算。②用于对某些位进行0/1检测。§5.3逻辑运算指令及逻辑运算程序设计二、移位运算指令(P42)◆对标志位的设置方法OF:CNT=1时有效,表示算术右移的一种情况。SF,PF,ZF:根据实际情况设定。◆指令格式XXXOPR,CNTXXX:移位指令OPR:移位数据,可以是除立即数外的任何寻址方式(reg,mem),可以是8位/16位运算。CNT:移位次数。可以是1或CL。◆作用①乘2n/除2n运算。②位测试与位控运算。③以位为单位的数据装配,包括代码转换。§5.3逻辑运算指令及逻辑运算程序设计三、作业【补充2】假设(DX)=0F7H,变量DATA1中内容=9EH,确定下列每条指令执行后的DX内容。

(1)ANDDX,DATA1(2)XORDX,DATA1(3)ORDX,DATA1(4)SHLDX,1(5)XORDX,0FFH(6)ANDDX,0(7)TESTDX,80H(8)TESTDX,01H【补充3】假设(BX)=6CB5H,执行下列每组指令后,(BX)=?。

(1)MOVCL,04HSHRBX,CL(2)MOVCL,03HSALBX,CL(3)RORBX,1(4)MOVCL,06HRCRBX,CL【补充4】设(AX)=0012H,(BX)=0034H,执行下列指令序列后,(AX)=?。MOVCL,8ROLAX,CLADDAX,BX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论