资源描述:
《基本指令系统与顺序结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章主要教学内容1.汇编语言的基本指令格式及应用;2.顺序结构程序的设计方法。本章主要教学目的及要求1.理解汇编语言的基本指令格式;2.掌握顺序结构程序的设计方法,能利用汇编语言基本指令熟练进行顺序结构程序设计。教学重点及难点:汇编语言基本指令的格式及应用。8/3/20211存储器内容传送到段寄存器(CS除外)例:MOVESI,EDIMOV[2000H],CXMOVDS,BX段寄存器内容送通用寄存器、存储器格式:MOVDST,SRC功能:将源操作数SRC的内容传送到目标操作数寄存器内容传至寄存器
2、、存储器、段寄存器(CS除外)存储器内容传送至通用寄存器例:MOVBL,44MOV[DI],78H4.1基本指令系统4.1.1数据传送指令功能:把数据、地址或立即数传送到寄存器或存储单元中MOV指令立即数传送至通用寄存器、存储单元例:MOVEAX,[BX]例:MOVDS,[2000H]例:MOVBX,ESMOVBX,ES1.通用传送指令8/3/20212寄存器之间交换寄存器和存储单元之间交换格式:XCHGOPR1,OPR2功能:完成OPR1操作数与OPR2操作数内容的交换例:XCHGEAX,ED
3、X例:XCHGAL,[SI]XCHG指令8/3/202132.堆栈操作PUSH指令指令POP指令特点:堆栈是一个先进后出的数据结构,SS记录其段地址,栈顶用SP指定。栈顶地址较小(低端),栈底不变。格式:PUSHSRC/PUSHA/PUSHAD/PUSHF/PUSHFD功能:将源操作数内容压栈,同时自动修改栈顶指针例:PUSH[BX]PUSHAX格式:POPDST/POPA/POPAD/POPF/POPFD功能:从堆栈弹出数据例:POPDXPOPES注意:出栈的顺序与入栈的顺序恰好相反8/3/2
4、02143.地址传送指令功能:用来传送操作数的地址。LEA指令指令类型格式:LEAREG,SRC功能:源操作数的有效地址(偏移地址)送指定寄存器注意:SRC是一个存储单元例:LEAAX,NUMBLDS指令格式:LDSREG,SRC功能:将SRC存储单元存放的4个字节送指定的寄存器REG和DS,其中(SRC)→REG,(SRC+2)→DS例:LDSDI,LISTLES/LFS/LGS/LSS指令格式:同LDS功能:将存储在SRC中的地址送REG寄存器和相应的段寄存器8/3/202154.标志位传送
5、指令LAHF指令标志位传送指令格式:LAHF功能:将标志寄存器的最右8位送AH寄存器SAHF指令格式:SAHF功能:将AH内容送标志寄存器的最右8位5.输入输出指令实现CPU和I/O端口之间的通讯。8/3/202166.其它数据传送指令XLAT换码指令其它数据传送指令格式:XLAT或XLATOPR功能:将AL与BX内容之和为偏移地址的存储单元内容送入AL例:MOVAL,5MOVBX,offsetK5XLAT执行情况如下:结果为:AL=32AL=5K51248163264MOVSX符号扩展指令格式
6、:MOVSXOPR1,OPR2功能:将OPR2中的数据符号扩展后送至OPR1MOVZX零扩展指令格式:MOVZXOPR1,OPR2功能:将OPR2中的数据零扩展后送至OPR1说明:(1)MOVSX和MOVZX中源操作数长度是目标操作数的一半。(2)MOVSX将目的操作数的高一半全部以源操作数的符号位填充。(3)零扩展指将目的操作数的高一半以0填充。BSWAP指令格式:BSWAPreg32功能:将reg32寄存器第一字节和第四个字节交换,第二字节和第三字节交换。8/3/202174.1.2算术运算
7、指令常用标志位CF(进位标志)含义:最高位有进位或借位,则CF置“1”,否则置“0”AF(辅助进位标志)含义:低半字节有进位或借位,则AF置“1”否则置“0”SF(符号标志)含义:算术或逻辑运算结果为正,SF置“0”,为负则置“1“ZF(零标志)含义:算术或逻辑运算结果为0,ZF置“1”,否则置“0”PF(奇偶标志)含义:算术或逻辑操作结果的低8位含有偶数个“1”,则PF置“1”,否则置“0”OF(溢出标志)含义:若两个操作数的符号相同而结果的符号与之相反则OF置“1”,否则置“0”8/3/20
8、218例:实现BX-AX和DX-CX相加,结果存放在BX-AX。SUM32PROCNEARADDAX,CXADCBX,DXRETSUM32ENDP1.加法指令加法指令ADD格式:ADDDST,SRC功能:将源操作数和目标操作数相加,结果送入目标操作数例:求NUM和NUM+1单元内字节数据和的程序段。MOVDI,OFFSETNUMMOVAL,0ADDAL,[NUM]ADDAL,[NUM+1]例:ADDAL,BLADDCL,44ADD[BX],ALADC格式:ADCDST,SRC功能:将源操作数、目