3 汇编语言程序设计

3 汇编语言程序设计

ID:39221632

大小:1.92 MB

页数:176页

时间:2019-06-27

3 汇编语言程序设计_第1页
3 汇编语言程序设计_第2页
3 汇编语言程序设计_第3页
3 汇编语言程序设计_第4页
3 汇编语言程序设计_第5页
资源描述:

《3 汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章汇编语言程序设计3.1汇编语言程序及开发过程一、基本概念机器语言:指令,是CPU唯一能识别的语言,用二进制表示;汇编语言:是机器语言的一种助记符形式,与机器语言一一对应;汇编程序:把汇编语言翻译成机器语言的程序。特点:5.编程调试稍难。与硬件平台有关;2.可读性好于机器语言;3.不能直接在机器上运行,必须经过汇编程序的汇编后才能执行;4.执行效率高;应用场合1.程序要求快、占用较小的存储容量。操作系统的核心程序段实时控制系统的软件智能仪器仪表的控制程序2.程序要直接、有效地控制硬件I/O接口的初始化程序段外设的低层驱动程序3.没有合适的

2、高级语言时开发最新的处理器程序4.其它:加密解密软件、分析和防治计算机病毒二、汇编语言的开发过程名称程序名命令行生成汇编程序MASM,TASMmasma.asmtasm/Zia.asma.obj连接程序LINK,TLINKlinka.objtlink/va.obja.exe调试程序DEBUG,TD,CVdebuga.exetda.exe初学程序设计最有效方法1.阅读源程序:掌握程序的一般结构学习实现经典算法2.上机调试:掌握指令的语法格式、功能避免常见的语法错误训练调试技巧DATASEGMENTSTRINGDB‘HelloWorld!’,‘$

3、’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETSTRINGMOVAH,9INT21HMOVAX,4C00HINT21HCODEENDSSTACKSEGMENTSTACKDB256DUP(?)STACKENDSENDSTART3.2指令格式及寻址方式一、指令格式操作码:告诉计算机执行什么性质的操作;操作数:告诉计算机对什么样的对象进行操作。每条指令只有一个操作码,但可以有多个操作数,8086指令系统中,操作数的数目有0~

4、2个指令格式举例:MOD含义MOD含义00存储器方式,无位移量01存储器方式,有8位位移量10存储器方式,有16位位移量11寄存器方式,无位移量REGW=1W=0REGW=1W=0000AXAL100SPAH001CXCL101BPCH010DXDL110SIDH011BXBL111DIBHD=0:REG为源操作数寄存器D=1:REG为目的操作数寄存器MODR/M存储器方式寄存器方式有效地址的计算公式W=0W=100011011000BX+SIBX+SI+D8BX+SI+D16ALAX001BX+DIBX+DI+D8BX+DI+D16CLCX

5、010BP+SIBP+SI+D8BP+SI+D16DLDX011BP+DIBP+DI+D8BP+DI+D16BLBX100SISI+D8SI+D16AHSP101DIDI+D8DI+D16CHBP110D16BP+D8BP+D16DHSI111BXBX+D8BX+D16BHDIMOV把源操作数送给目的操作数XCHG交换两个操作数的数据PUSH,POP把操作数压入或取出堆栈PUSHF,POPF,堆栈指令群PUSHA,POPALEA,LDS,LES取地址至寄存器XLAT(XLATB)查表指令(换码)二、8086指令集数据传送指令ADD,ADC加法

6、指令SUB,SBB减法指令INC,DEC加一或减一NEG取二进制补码MUL,IMUL乘法指令DIV,IDIV除法指令CBW,CWD有符号数扩展指令AAA,AAS,AAM,AAD非压BCD码运算调整指令DAA,DAS压缩BCD码调整指令算术运算指令AND,OR,XOR,NOT,TEST逻辑运算SHR,SHL,SAR,SAL移位指令ROR,ROL,RCR,RCL循环移位指令位运算指令CLC,STC,CMC设定进位标志CLD,STD设定方向标志CLI,STI设定中断标志CMP比较JMP跳往指定地址执行JXX条件转移指令LOOP循环指令LOOPE(Z

7、)条件循环指令CALL,RET子程序调用,返回指令INT,IRET中断调用及返回指令程序流程控制指令MOVSB,MOVSW,MOVSD字符串传送指令CMPSB,CMPSW,CMPSD字符串比较指令SCASB,SCASW字符串搜索指令LODSB,LODSW字符串载入指令STOSB,STOSW字符串存贮指令REP,REPE,REPNE重复前缀指令字符串操作指令三、寻址方式在指令中为了取得操作数地址所使用的方式寻找操作数的过程就是操作数的寻址不同的指令系统都规定一些寻址方式供编程时选用指令的寻址方式主要由操作数的形式表示出来操作数采取哪一种寻址方式

8、,会影响机器运行的速度和效率1、操作数寻址方式1)立即寻址2)寄存器寻址3)直接寻址4)寄存器间接寻址5)寄存器相对寻址6)基址变址寻址7)相对基址变址寻址寻址方式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。