第3章_2 数据传送_第1页
第3章_2 数据传送_第2页
第3章_2 数据传送_第3页
第3章_2 数据传送_第4页
第3章_2 数据传送_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第三章指令系统,1,2,8086CPU的指令格式,8086CPU的指令系统,3,8086CPU的寻址方式,DEBUG程序,“开始”“运行”DEBUG*.com*.exe“开始”“运行”CMD,DEBUG*.com*.exe启动后显示命令提示符“”,后接一闪烁光标,等待你输入命令,DEBUG是DOS下汇编语言专用调试程序。可对*.COM程序进行完全的调试保存,对*.EXE程序只能调试不能保存。,DEBUG的启动,DEBUG启动后的状态,CS、DS、ES、SS指向自由空间的底部,具体值与操作系统有关。AX、BX、CX、DX、BP、SI、DI均为0000HIP为0100H,SP为0FFEEHDEBUG中的所有数据均为16进制,DEBUG的操作命令,1、汇编命令A(Assembly)-A-A地址,2、反汇编命令U(Unassembly)-U当前地址CS:IP反汇编32字节指令-U地址,3、寄存器修改命令R(Register)-R-R寄存器名,4、内存显示命令D(Dump)-D-D地址显示连续128字节的内容,段地址,偏移量,内存内容,ASCII码,5、内存修改命令E-E地址-E地址内容表-E100f3abc8d-E110A-E1201020304050C60OK!,6、运行命令G(Go)-G-G地址-G100从CS:IP=CS:100H开始执行,7、跟踪命令T(Trace)-T-T=地址从当前CS:IP或指定IP执行一条指令后暂停,遇到子程序调用或软中断指令则跟踪进入。,8、单步命令P(Step)-P-P=地址从当前CS:IP或指定IP执行一条指令后暂停,将子程序调用或软中断指令作为一条指令执行。,9、文件命名命令N(Name)-N文件名-N,10、文件装入命令L(Load)-L,11、将文件写入磁盘命令W(Write)-WCX:文件长度的低16位BX:文件长度的高16位,12、端口输入命令I(Input)-I端口地址-I3F8,13、端口输出命令O(Output)-O端口地址数据-O3F8AA,14、退出DEBUG命令Q(Quit)-Q,其它DEBUG命令及更详细的使用方法参见附录H,指令系统,操作码助记符,操作数助记符,;注释,标号:,指令格式,指令构成的基本原则,源、目的操作数的字长一致源、目的操作数不能同为内存单元立即数不能作目的操作数,指令分类,数据传送指令算术运算指令逻辑运算与移位指令串操作指令控制转移指令处理机控制指令,数据传送指令(14条),实现在寄存器、存储器及I/O端口之间传送数据除标志传送指令外,指令执行结果都不影响标志寄存器,通用数据传送,1、MOV指令格式:MOVd,s功能:(d)(s)说明:将s的内容传送给d,s保持不变,【例】MOVAX,BXMOVAH,DLMOVCL,SIMOVDS,SIMOVDI,SIMOVDI,DHMOVCX,30HMOVBYTEPTRSI,04MOVBX,CXMOVWORDPTRDI,100H,不影响标志位d不能是CS和立即数d、s不同为段寄存器和存储器MOVDS,ES立即数不能直接送段寄存器MOVDS,2000H,MOVAX,ESMOVDS,AX,MOVAX,2000HMOVDS,AX,2、XCHG指令格式:XCHGd,s功能:(d)(s)说明:交换s和d的内容,s和d的内容都变化,【例】XCHGCL,SIXCHGCL,ALXCHGDI,DXXCHGBX,CX,不影响标志位不允许使用立即数XCHGAX,2000H不允许使用段寄存器XCHGCS,DXd、s不同为存储器XCHGSI,DI,进栈指令PUSH格式:PUSHs16功能:SPSP2,(SP)s16说明:将s指定的16位操作数压入堆栈,3、堆栈操作指令PUSH和POP,出栈指令POP格式:POPd16功能:d16(SP),SPSP2说明:将栈顶的16位操作数弹出,送入d,堆栈是存储器中的特定区域,在堆栈中对数据采取特殊的存取规则即“后进先出(LIFO或FILO)”。堆栈设在堆栈段中,段地址在段寄存器SS中。在堆栈中始终有一个栈顶单元,该单元的段内偏移地址存放在堆栈指针寄存器SP中(初始值可以设置)。当压入数据时,数据被存放在栈顶上面的2个字节单元中,且SP自动减2以指向新的栈顶;当弹出数据时是将栈顶的2个字节单元数据弹出至d,且SP自动加2又指向新的栈顶。总之,不管压入还是弹出总是对栈顶进行操作,且栈顶指针SP会自动修改以保持始终指向新的栈顶。,【例】设SS8000H,SP1000H,AX1122H,BX3344H,执行以下指令:PUSHAXPUSHBXPOPAX,不影响标志位不允许使用立即数PUSH2000H必须以字为单位PUSHDLPOPAHd、s可以是16位通用寄存器、存储器或段寄存器,但POP指令不能用CSPOPCS,判断下列指令的对错:PUSH12HPUSH1234HPOP1000HPUSHCSPOPCSPUSHCLPOPESPUSHSIPOPDXPUSHES:10HPOPBXSI+08H,4、查表转换指令XLAT格式:XLAT功能:ALDS:BXAL说明:将数据段中首单元偏移地址在BX,顺序号在AL的表的内容取出送AL。,【例】七段LED数码管上显示数字09,可以将每个数字所对应的显示代码制成一张表,并按数字顺序存放在数据段中,假设表的首单元偏移地址为1000H,如右图所示。现若要得到数字7的显示代码,执行如下指令:MOVBX,1000HMOVAL,7XLAT则AL中得到数字7的显示代码78H。,不影响标志位字节表格(长度不超过255)首地址(BX)需转换代码AL,地址传送,5、取有效地址指令LEA(LoadEA)格式:LEAreg16,mem功能:reg16memEA说明:将mem指定的存储器操作数的有效地址取至16位的通用寄存器reg16中。,【例】LEAAX,2012H;相当于MOVAX,2012HLEASI,BX;相当于MOVSI,BXLEADI,BX+SI;无直接对应指令,DI(BX+SI)LEADX,SI-0100H;DX(SI-0100H),不影响标志位reg16是16位通用寄存器,不能是段寄存器mem必须为存储器寻址方式,6、取逻辑地址(指针)指令LDS和LES,格式:LDSreg16,mem功能:reg16(mem),DS(mem2)说明:将mem指定的存储器双字中存放的逻辑地址(指针)送16位通用寄存器reg16和DS。,格式:LESreg16,mem功能:reg16(mem),ES(mem2)说明:将mem指定的存储器双字中存放的逻辑地址(指针)送16位通用寄存器reg16和ES。,SI,DS,(ES),(DI),LDSSI,2012H操作:SI(2013H:2012H)DS(2015H:2014H),LESDI,2012H操作:DI(2013H:2012H)ES(2015H:2014H),标志传送,7、标志寄存器(PSW/FR)与AH之间的传送指令LAHF和SAHF,格式:LAHF;(LoadAHfromFlagregister)功能:AHPSW70说明:将标志寄存器PSW的低8位传送到寄存器AH中。,格式:SAHF;(SaveAHtoFlagregister)功能:PSW70AH说明:将寄存器AH内容传送到标志寄存器PSW的低8位中。,LAHF不影响标志位,SAHF影响标志位,8、标志寄存器进出栈指令PUSHF和POPF,格式:PUSHF;(PUSHFlagregister)功能:SPSP2,(SP)PSW说明:将标志寄存器PSW压入堆栈,堆栈指针减2。,格式:POPF;(POPFlagregister)功能:PSW(SP),SPSP2说明:将堆栈栈顶内容弹出至标志寄存器PSW,堆栈指针加2。,PUSHF不影响标志位,POPF影响标志位,输入输出,格式:INAL,port8INAL,DXINAX,port8INAX,DX功能:从I/O端口中读取一个或两个字节到CPU内的AL或AX寄存器。说明:port8是8位端口地址,DX是16位端口地址,也可是8位端口地址。8位端口地址可直接在指令中出现,16位端口地址不能直接在指令中出现,必须事先存放在DX寄存器中。AL是从端口中读取一个字节的数据,而AX是从端口的连续两个地址中分别读取一个字节共两个字节,存放到AX寄存器中。,9、端口输入指令IN(INputfromport),【例】INAL,20H;AL(20H)INAX,40H;AL(40H),AH(41H)MOVDX,03F8HINAL,DX;AL(3F8H)MOVDX,280HINAX,DX;AL(280H),AH(281H),不影响标志位端口地址为00FFH时,可直接在指令中指定,端口地址为100HFFFFH时,必须放在DX中INAL,400H只能传送到累加器(AL/AX)中INCL,DXINBX,30H,格式:OUTport8,ALOUTDX,ALOUTport8,AXOUTDX,AX功能:向I/O端口中输出一个或两个字节。,10、端口输出指令OUT(OUTputtoport),【例】OUT20H,AL;(20H)

温馨提示

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

评论

0/150

提交评论