[电脑基础知识]微机接口原理chapterppt课件_第1页
[电脑基础知识]微机接口原理chapterppt课件_第2页
[电脑基础知识]微机接口原理chapterppt课件_第3页
[电脑基础知识]微机接口原理chapterppt课件_第4页
[电脑基础知识]微机接口原理chapterppt课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、部分常用的部分常用的 8086 指令指令指令类型指令类型助记符助记符数据传送数据传送MOV,XCHG; 堆栈PUSH/POP地址传送LEA ;标志传送PUSHF/POPF输入输出IN,OUT算术运算加法ADD,ADC,INC,DAA减法SUB,SBB,DEC,CMP乘/除法MUL,DIV逻辑移位逻辑运算AND,OR,NOT,XOR,TEST移位SHL/SHR/SAR,ROL/ROR,RCL/RCR串操作MOVSB控制转移JMP,JXX,LOOP,CALL/RET,INT/IRET2828原那原那么么四、串处置指令四、串处置指令可完成两个存储单元之间的传送和比较可完成两个存储单元之间的传送和比较

2、操作操作串操作指令均采用隐含寻址方式串操作指令均采用隐含寻址方式目的操作数指针目的操作数指针 ES:DI 。源。源DS:SI每操作一次每操作一次SI,DI修正一次,方向由修正一次,方向由DF控控制制反复操作的退出。反复操作的退出。CX控制,串长度控制,串长度NoImage方 向 标 志DF选择串操作期间存放器 DI ,SI 的自增(DF=0)或自减(DF=1)操作。起始地址A00HHGFEDCB串长=8字节块 (串)ES/DSES/DS当当DS=ESDS=ES时,段内操作时,段内操作两种格式:两种格式: MOVSB MOVSB: ES:DI(DS:SI) ES:DI(DS:SI),SISI1

3、1,DIDI1 1 MOVSW MOVSW: ES:DI(DS:SI)16 ES:DI(DS:SI)16,SISI2 2,DIDI2 2 1.1.串传送指令串传送指令MOVSMOVS功能:源串功能:源串DS:SI 目的串目的串ES:DI 同时自动修正同时自动修正SI,DI 长度长度CX串传送指令运用举例串传送指令运用举例将将MEM1开场的开场的100个字节数据传送到个字节数据传送到MEM2区域:假定区域:假定DS、ES已设置好已设置好 LEA SI,MEM1 ;设置源串指针;设置源串指针 LEA DI,MEM2 ;设置目的串指针;设置目的串指针 MOV CX,100 ;设置执行次数;设置执行次

4、数 CLD ;设置方向;设置方向DF=0LOP: MOVSB ;串传送;串传送 LOOP LOP ;CX不为零,循环执行不为零,循环执行 HALT 反复前缀反复前缀(p128(p128串操作指令前面可加上反复前缀。当运用反串操作指令前面可加上反复前缀。当运用反复前缀时,复前缀时,MOVS MOVS 指令反复执行,反复执行次指令反复执行,反复执行次数由数由CXCX决议。并且每执行一次,决议。并且每执行一次,CXCX就自动减就自动减1 1,直到减为直到减为0 0,婴儿湿疹怎样办然后退出反复执,婴儿湿疹怎样办然后退出反复执行。行。反复前缀包括:反复前缀包括:REP CX0 REP CX0 时反复时反

5、复执行执行REPE/REPZ CX0ZF=1REPE/REPZ CX0ZF=1时反复执时反复执行行REPNE/REPNZ CX0ZF=0REPNE/REPNZ CX0ZF=0时反复执行时反复执行串传送指令运用举例串传送指令运用举例3-363-36将将MEM1开场的开场的100个字节数据传送到个字节数据传送到MEM2区域:假定区域:假定DS、ES已设置好已设置好 LEA SI, MEM1 ;设置源串指针;设置源串指针 LEA DI, MEM2 ;设置目的串指针;设置目的串指针 MOV CX,100 ;设置次数;设置次数 CLD ;设置方向;设置方向DF=0 REP MOVSB ;串传送;串传送

6、HALT习题习题3.113.11指出以下程序段的功能指出以下程序段的功能 LEA SI, FIRST ;设置源串指针;设置源串指针 LEA DI, SECOND ;设置目的串指;设置目的串指针针 MOV CX,10 ;设置次数;设置次数 STD ;设置方向;设置方向DF=1 REP MOVSB ;串传送;串传送减地址方向减地址方向五、程序控制转移指令五、程序控制转移指令程序控制指令用来控制程序的走向,其本质是设法改动当前的CS和IP值,以使CPU转移到一个新的地址处执行程序。80868086提供了五种控制转移指令:无条件转移指提供了五种控制转移指令:无条件转移指令,条件转移指令,循环控制指令令

7、,条件转移指令,循环控制指令, ,子程序调用子程序调用指令和中断指令。除中断指令外,其它转移类指令和中断指令。除中断指令外,其它转移类指令都不影响形状标志。指令都不影响形状标志。1 1、无条件转移指令、无条件转移指令-JMP-JMP。 段间间接转移段间间接转移 JMP mem32 mem32中的中的16位的段和位的段和16位的偏移地址位的偏移地址送到送到CS和和IP。转移的目的地址由指令直接给出。指令中给出的目的地址相对于IP的位移量转移范围: 位移量 转移范围 汇编言语中格式 8位 -128+127 JMP SHORT OPRD 16位 -32768+32767 JMP NEAR PTR O

8、PRD例:JMPNEAR PTR 0120H ;直接转向0120H JMPSHORT Lop ;转向LP JMPNEAR PTR lop ;转向BBB由于是段内转移,故转移后CS内容坚持不变 段内直接转移段内直接转移段内间接转移段内间接转移转移的目的地址由存放器或存储单元的内容转移的目的地址由存放器或存储单元的内容给出。给出。 例例1 1:JMP CXJMP CX假设假设(CX)=1200H(CX)=1200H,那么指令执行,那么指令执行后后,(IP)=1200H,(IP)=1200H,于是转向代码段的偏移地址于是转向代码段的偏移地址1200H1200H处开场执行。处开场执行。 例例2:JMP

9、WORD PTRBX+DI设指令执行前设指令执行前: (DS)=3000H,(BX)=1300H, (DI)=1200H,(32500H)=2350H; 那么指令执行后那么指令执行后:(IP)=?2350H段间直接转移段间直接转移在指令中直接给出要转移到的目的段地址和在指令中直接给出要转移到的目的段地址和偏移地址。偏移地址。 例:例:JMPJMP2000H:1000H2000H:1000H执行时执行时,(IP)1000H,(CS)2000H,(IP)1000H,(CS)2000H注:直接地址为符号地址时,婴儿湿疹怎样注:直接地址为符号地址时,婴儿湿疹怎样办段间直接转移指令中的符号地址前应加操办

10、段间直接转移指令中的符号地址前应加操作符作符FAR PTRFAR PTR。 例:例:JMP FAR PTR far_labelJMP FAR PTR far_label其中的其中的far_labelfar_label为远类型的标号。为远类型的标号。转移的目的地址(段和偏移)在两个相邻的字存储单元中。例如:JMP DWORD PTRSI设指令执行前:(DS)=4000H,(SI)=1212H, (41212H)=1000H,(41214H)=4A00H那么指令执行后:(IP)=?,(CS)=?于是转到4B000H处开场执行指令。例中的DWORD PTR表示转移地址是一个双字。段间间接转移段间间接

11、转移40001212+) 41212DSSI0010004A 4121241213412144121510004A00IPCS段间间接转移操作表示图段间间接转移操作表示图1111111111101100JMP DWORD PTR SI的机器码DS:SIJMP指令段内转移段间转移直接转移间接转移直接转移间接转移(近转移)(远转移)(短转移)(段内转移)2 2、条件转移指令、条件转移指令条件转移指令根据标志位的形状来决议能否进展分支转移。格式: JXX label;xx为条件称号缩写,只能是标号。指令的转移范围为-128+127字节。短转移。条件转移指令共有19条主要的条件转移指令参见p。 根据单

12、个标志位设置的条件转移指令根据单个标志位设置的条件转移指令含 义指 令转 移 条 件等于/ 结果为0JE / JZJNE / JNZJCJNCZF=0ZF=1CF=0CF=1不等于/ 结果不为0有进位/ 有借位无进位/ 无借位溢出不溢出有偶数个“1 有奇数个“1 符号位为 1 符号位为 0 JOJNOJP / JPEJNP / JPOJSJNSOF=0OF=1PF=0PF=1SF=0SF=1这类指令主要用来判别两个数的大小。普通指令序列为: CMP A,B ;比较 Jxx label ;根据比较婴儿湿疹怎样办结果转移 无符号数条件转移指令无符号数条件转移指令含 义指 令转 移 条 件A高于BA

13、高于等于BA低于等于BA低于BJA / JNBEJAE / JNBJB / JNAEJBE / JNACF=0 OR ZF=0CF=0 JNCCF=1 JCCF=1 OR ZF=1A:Above 高于,高于, B:Below 低于低于带符号数条件转移指令带符号数条件转移指令含 义指 令转 移 条 件ABABABABJG / JNLEJGE / JNLJL / JNGEJLE / JNGSF OF=0 OR ZF=0SF OF=0SF OF=1SF OF=1 OR ZF=1G:Greater 大于,大于, L:Less 小于小于条件转移指令,直接根据比较结果进展转移。条件转移指令,直接根据比较结

14、果进展转移。例:将键盘输入的健值放在例:将键盘输入的健值放在ALAL中,假设是小写中,假设是小写字母字母(a 61H z 7AH)(a 61H z 7AH),那么转换成大写显示,那么转换成大写显示,假设是假设是EscEsc1BH)1BH)键那么退出。键那么退出。 CMP AL,1BH CMP AL,1BH JE EXIT JE EXIT CMP AL,61H CMP AL,61H ;ALAL和和a a比较比较 JB ND JB ND ;假设;假设ALa,ALz,ALz,那么转移到那么转移到NDND SUB AL,20H SUB AL,20H ;将;将ALAL中的字符转换成大写中的字符转换成大写

15、 ND: ND: * * * * * ;显示;显示六、处置器控制指令六、处置器控制指令1.标志操作指令 用来设置标志位的形状。 1CF设置指令 CLC 0CF STC 1CF CMC CF变反 2DF设置指令 CLD 0DF (串操作的指针挪动方向从低到高)STD 1DF (串操作的指针挪动方向从高到低) 3IF设置指令CLI 0IF (制止INTR中断)STI 1IF (开放INTR中断) 执行HLT指令时,CPU进入暂停形状,设置该指令通常是为了等待中断。 外部中断(包括IF=1时的可屏蔽中断恳求INTR及非屏蔽中断恳求NMI)或复位信号可让CPU退出暂停形状。 HLT不影响标志位。2.

16、外部同步指令 使处置器处于空转等待形状。等待TEST管脚上的信号有效。 NOP指令不做任何本质性的操作,但占用3个时钟周期,然后执行下一条指令。 多用于延时或预留存储空间(占位子)。 (5)(5)空操作指令空操作指令NOPNOP部分常用的部分常用的 8086 指令指令指令类型指令类型助记符助记符数据传送数据传送MOV,XCHG; 堆栈PUSH/POP地址传送LEA ;标志传送PUSHF/POPF输入输出IN,OUT算术运算加法ADD,ADC,INC,DAA减法SUB,SBB,DEC,CMP乘/除法MUL,DIV逻辑移位逻辑运算AND,OR,NOT,XOR,TEST移位SHL/SHR/SAR,R

17、OL/ROR,RCL/RCR串操作MOVSB控制转移JMP,JXX,LOOP,CALL/RET,INT/IRET2828原那原那么么3 3、循环控制指令、循环控制指令转移的目的应在间隔本指令-128+127的范围之内。短间隔。 LOOP label 只能标号以CX存放器作为计数指针,每循环一次,CX减1,当CX减至0时,停顿循环。(1)LOOP格式:格式:LOOP label 只能标号只能标号操作:操作:(CX)-1CX; 假设假设(CX)0,那么转至那么转至label处执行;处执行; 否那么退出循环否那么退出循环,执行执行LOOP后面的后面的指令。指令。 注:注:LOOP指令与下面的指令段等

18、价:指令与下面的指令段等价: DEC CX JNE label(2)LOOPZ (LOOPE)格式:格式:LOOPZ label操作:操作:(CX)-1CX; 假设假设(CX)0ZF=1,那么转至那么转至label处执处执行;行; 否那么退出循环否那么退出循环,执行执行LOOP后面的指令。后面的指令。(3)LOOPNZ (LOOPNE)格式:格式:LOOPNZ label操作:操作:(CX)-1CX; 假设假设(CX)0ZF=0,那么转至那么转至label处执处执行;行; 否那么退出循环否那么退出循环,执行执行LOOP后面的指令。后面的指令。(4)(4)根据根据CXCX内容来决议能否转移的转移指令内容来决议能否转移的转移指令 JCXZ labelJCXZ label 假设假设(CX)=0,(CX)=0,那么转移到那么转移到labellabel处开场执处开场执行。行。例1:给1A000H开场的256个内存单元均减去1,假设 发现某个单元减为0那么立刻退出循环,其后的单元不再减1。程序段如下:逻辑地址为1A

温馨提示

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

评论

0/150

提交评论