微机原理第02章微处理器指令系统课件.ppt

上传人:牧羊曲112 文档编号:6284476 上传时间:2023-10-13 格式:PPT 页数:30 大小:806KB
返回 下载 相关 举报
微机原理第02章微处理器指令系统课件.ppt_第1页
第1页 / 共30页
微机原理第02章微处理器指令系统课件.ppt_第2页
第2页 / 共30页
微机原理第02章微处理器指令系统课件.ppt_第3页
第3页 / 共30页
微机原理第02章微处理器指令系统课件.ppt_第4页
第4页 / 共30页
微机原理第02章微处理器指令系统课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《微机原理第02章微处理器指令系统课件.ppt》由会员分享,可在线阅读,更多相关《微机原理第02章微处理器指令系统课件.ppt(30页珍藏版)》请在三一办公上搜索。

1、第2章,第2章:2.3 数据传送类指令,数据传送是计算机中最基本、最重要的一种操作,传送指令也是最常使用的一类指令传送指令把数据从一个位置传送到另一个位置除标志寄存器传送指令外,均不影响标志位重点掌握MOV XCHG XLAT PUSH POP LEA,第2章:2.3.1 通用数据传送指令,提供方便灵活的通用传送操作有3条指令MOVXCHGXLAT,MOV,XCHG,XLAT,第2章:1.传送指令MOV(move),把一个字节或字的操作数从源地址传送至目的地址,MOV reg/mem,imm;立即数送寄存器或主存,MOV reg/mem/seg,reg;寄存器送(段)寄存器或主存,MOV re

2、g/seg,mem;主存送(段)寄存器,MOV reg/mem,seg;段寄存器送寄存器或主存,演示,第2章:MOV指令立即数传送,mov cl,4;cl4,字节传送mov dx,0ffh;dx00ffh,字传送mov si,200h;si0200h,字传送mov bvar,0ah;字节传送;假设bvar是一个字节变量,定义如下:bvar db 0mov wvar,0bh;字传送;假设wvar是一个字变量,定义如下:wvar dw 0,明确指令是字节操作还是字操作,第2章:MOV指令寄存器传送,mov ah,al;ahal,字节传送mov bvar,ch;bvarch,字节传送mov ax,b

3、x;axbx,字传送mov ds,ax;dsax,字传送mov bx,al;bxal,字节传送,寄存器具有明确的字节和字类型,第2章:MOV指令存储器传送,mov al,bx;alds:bxmov dx,bp;dxss:bp+0mov dx,bp+4;dxss:bp+4mov es,si;esds:si,不存在存储器向存储器的传送指令,第2章:MOV指令段寄存器传送,mov si,dsmov ax,ds;axdsmov es,ax;esaxds,对段寄存器的操作不灵活,第2章:MOV指令传送功能图解,MOV指令也并非任意传送!,非法指令的主要现象:两个操作数的类型不一致无法确定是字节量还是字量

4、操作两个操作数都是存储器段寄存器的操作有一些限制,第2章:非法指令两个操作数类型不一致,在绝大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令MOV AL,050AH;非法指令,修正:;mov ax,050ahMOV SI,DL;非法指令,修正:;mov dh,0;mov si,dx,第2章:非法指令无法确定是字节量还是字量操作,当无法通过任一个操作数确定是操作类型时,需要利用汇编语言的操作符显式指明MOV BX+SI,255;非法指令,修正:;mov byte ptr bx+si,255;byte ptr 说明是字节操作;mov w

5、ord ptr bx+si,255;word ptr 说明是字操作,第2章:非法指令两个操作数都是存储器,8088指令系统除串操作指令外,不允许两个操作数都是存储单元(存储器操作数)MOV buf2,buf1;非法指令,修正:;假设buf2和buf1是两个字变量;mov ax,buf1;mov buf2,ax;假设buf2和buf1是两个字节变量;mov al,buf1;mov buf2,al,第2章:非法指令段寄存器的操作有一些限制,8088指令系统中,能直接对段寄存器操作的指令只有MOV等个别传送指令,并且不灵活MOV DS,ES;非法指令,修正:;mov ax,es;mov ds,axM

6、OV DS,100H;非法指令,修正:;mov ax,100h;mov ds,ax MOV CS,SI;非法指令;指令存在,但不能执行,第2章:2.交换指令XCHG(exchange),把两个地方的数据进行互换,寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据,XCHG reg,reg/mem;reg reg/mem,演示,第2章:例2.2 数据交换,mov ax,1199h;ax=1199hxchg ah,al;ax=9911h;等同于 xchg al,ahmov wvar,5566h;wvar是一个字量变量xchg ax,wvar;ax=5566h,wv

7、ar=9911h;等同于 xchg wvar,ax xchg al,byte ptr wvar+1;ax=5599h,wvar=6611h;“byte ptr wvar+1”强制为字节量,只取高字节与AL类型交换,否则数据类型不匹配,第2章:3.换码指令XLAT(translate),将BX指定的缓冲区中、AL指定的位移处的一个字节数据取出赋给AL,换码指令执行前:在主存建立一个字节量表格,内含要转换成的目的代码表格首地址存放于BX,AL存放相对表格首地址的位移量换码指令执行后:将AL寄存器的内容转换为目标代码,XLAT;alds:bx+al,演示,第2章:2.3.2 堆栈操作指令,堆栈是一个

8、“后进先出FILO”(或说“先进后出FILO”)的主存区域,位于堆栈段中;SS段寄存器记录其段地址堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定堆栈只有两种基本操作:进栈和出栈,对应两条指令PUSH和POP,图示,第2章:进栈指令PUSH,进栈指令先使堆栈指针SP减2,然后把一个字操作数存入堆栈顶部,PUSH r16/m16/seg;SPSP2;SS:SPr16/m16/seg,演示,push axpush 2000h,第2章:出栈指令POP,出栈指令把栈顶的一个字传送至指定的目的操作数,然后堆栈指针SP加2,POP r16/m16/seg;r16/m16/segSS:SP;SPSP2

9、,pop axpop wvar,演示,第2章:堆栈操作的特点,堆栈操作的单位是字,进栈和出栈只对字量字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节堆栈操作遵循先进后出原则,但可用存储器寻址方式随机存取堆栈中的数据堆栈段是程序中不可或缺的一个内存区,常用来临时存放数据传递参数保存和恢复寄存器,第2章:2.3.3 标志操作指令,1.标志位操作指令CLC;复位进位标志:CF0STC;置位进位标志:CF1CMC;求反进位标志:CFCFCLD;复位方向标志:DF0STD;置位方向标志:DF1CLI;复位中断标志:IF0STI;置位中断标志:IF12.标志寄存器低字节与AH的传送指

10、令3.标志寄存器出入堆栈指令,将存储器操作数的有效地址送至指定的16位通用寄存器,第2章:有效地址传送指令LEA(load effective address),LEA r16,mem;r16mem的有效地址EA,例题2.5 有效地址的获取mov bx,400hmov si,3chlea bx,bx+si+0f62h;BX400H3CH0F62H139EH,第2章:例2.6 地址传送与内容传送,wvar dw 4142h;假设偏移地址为04Hmov ax,wvar;内容传送:AX4142Hlea si,wvar;地址传送:SI0004H;等同于 lea si,0004hmov cx,si;内容

11、传送:CX4142Hmov di,offset wvar;mov di,0004h;利用操作符OFFSET获取变量的有效地址mov dx,di;内容传送:DX4142H,第2章:调试程序DEBUG,DEBUG是常用的汇编语言级调试工具,为汇编语言程序员提供了分析指令、跟踪程序的有效手段常用命令:A 汇编U 反汇编T 单步执行G 断点执行D 数据显示R 寄存器启动方法DOS下执行DEBUG.EXE程序Windows 9x中进入MS-DOS环境执行DEBUG.EXE程序Windows 2000/XP/NT下运行COMMAND命令(不是CMD命令,也不要从“命令提示符”)进入MS-DOS环境执行DEBUG.EXE程序,MOV指令的功能,XCHG指令的功能,XLAT指令的功能,堆栈的图示,SS,SP,0000H,(栈顶),存储器,高地址,堆栈段,PUSH指令的功能,POP指令的功能,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号