6 3.3指令系统传送、算术运算指令.pptVIP

  • 5
  • 0
  • 约1.71万字
  • 约 115页
  • 2019-04-10 发布于福建
  • 举报
8086的指令系统 教学提示 全面而准确地理解每条指令的功能和应用,是编写汇编语言程序的关键 1.数据传送类指令 数据传送是计算机中最基本、最重要的一种操作 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握 MOV XCHG XLAT PUSH POP LEA 3.1 通用数据传送指令 提供方便灵活的通用传送操作 有3条指令 MOV XCHG XLAT 1.传送指令MOV(move) 把一个字节或字的操作数从源地址传送至目的地址 例1:立即数传送 MOV AL,4 ;AL←4,字节传送 MOV CX,0FFH ;CX←00FFH,字传送 MOV SI,200H ;SI←0200H,字传送 MOV BYTE PTR [SI],0AH ;BYTE PTR 说明是字节操作 MOV WORD PTR [SI+2],0BH ;WORD PTR 说明是字操作 例2:寄存器传送 MOV AX,BX ;AX←BX,字传送 MOV AH,AL ;AH←AL,字节传送 MOV DS,AX ;DS←AX,字传送 MOV [SI],AL ;[SI]←AL,字节传送 例3:存储器传送 MOV AL,[BX] MOV DX,[BP] ;DX←SS:[BP] MOV ES,[SI] ;ES←DS:[SI] 例2.5:段寄存器传送 MOV [SI],DS MOV AX,ES ;AX←ES MOV DS,AX ;DS←AX←ES MOV指令传送功能 MOV也并非任意传送 非法传送种种 两个操作数的类型不一致 例如源操作数是字节,而目的操作数是字;或相反 两个操作数不能都是存储器 传送指令很灵活,但主存之间的直接传送却不允许 段寄存器的操作有一些限制 段寄存器属专用寄存器,对他们的操作能力有限 两个操作数的类型要一致 绝大多数双操作数指令,除非特别说明,目的操作数与源操作数必须类型一致,否则为非法指令 MOV AL,050AH ;非法指令:050AH为字,而AL为字节 寄存器有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型 对于存储器单元与立即数同时作为操作数的情况,必须显式指明;ByTE PTR指示字节类型,WORD PTR指示字类型 两个操作数不能都是存储器 8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可通过寄存器间接实现 MOV AX,BUFFER1 ;AX←BUFFER1(将BUFFER1内容送AX) MOV BUFFER2,AX ;BUFFER2←AX ;这里BUFFER1和BUFFER2是两个字变量 ;实际表示直接寻址方式 要小心段寄存器的操作 不允许立即数传送给段寄存器 MOV DS,100H ;非法指令:立即数不能传送段寄存器 不允许直接改变CS值 MOV CS,[SI] ;不允许使用的指令 不允许段寄存器之间的直接数据传送 MOV DS,ES ;非法指令:不允许段寄存器间传送 2.交换指令XCHG(EXCHANCGE) 把两个地方的数据进行互换 例1:寄存器间交换 MOV AX,1234H ;AX=1234H MOV BX,5678H ;BX=5678H XCHG AX,BX ;AX=5678H,BX=1234H XCHG AH,AL ;AX=7856H 例2:寄存器与存储器交换 XCHG AX,[2000H] ;字交换 ;等同于 XCHG [2000H],AX XCHG AL,[2000H] ;字节交换 ;等同于 XCHG [2000H],AL 3.查表(代码)转换指令XLAT(TRANSLATE) 指令的操作数都是隐含的,事先在BX中存放某一内存表格的首地址;在AL中为表中某一元素项与表格首地址之间的偏移量。 例3:代码转换 MOV BX,100H MOV AL,03H XLAT 4. 堆栈操作指令 堆栈是一个“后进先出FILO”(或说“先进后出FILO”)的主存区域,位于堆栈段中;SS段寄存器记录其段地址 堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定 栈顶是地址较小的一端(低端),栈底不变 堆栈和队列 堆栈:按照后进先出(LIFO)的原则组织的存储器空间(栈) 队列:按照先进先出(FIFO)的原则组织的存储器空间 堆栈的操作 堆栈只有两种基本操作:压栈和出栈,对应两条指令PUSH和POP 压栈指令PUSH PUSH AX PUSH [2000H] 出栈指令POP POP DX POP [2000H] 堆栈的特点 堆栈操作的单位是字,进栈和出栈只对字量 字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节 堆栈操作遵循先进后出原则,但可用存储器寻址方式

文档评论(0)

1亿VIP精品文档

相关文档