微机原理与接口技术梁建武 第3章

微机原理与接口技术梁建武 第3章

ID:40246042

大小:1.23 MB

页数:138页

时间:2019-07-28

微机原理与接口技术梁建武 第3章_第1页
微机原理与接口技术梁建武 第3章_第2页
微机原理与接口技术梁建武 第3章_第3页
微机原理与接口技术梁建武 第3章_第4页
微机原理与接口技术梁建武 第3章_第5页
资源描述:

《微机原理与接口技术梁建武 第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理及接口技术主编梁建武中国水利水电出版社3.1汇编语言程序设计基础以助记符形式表示计算机指令助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号助记符是表明指令功能的英语单词或其缩写汇编格式指令以及使用它们编写程序的规则就形成汇编语言(AssemblyLanguage)汇编语言程序:用汇编语言书写的程序汇编程序:将汇编语言程序“汇编”成机器代码目标模块的程序3.1.1汇编语言特点汇编语言的优点:直接控制计算机硬件部件编写“时间”和“空间”两方面最有效程序汇编语言的缺点:与处理器密切有关需要熟悉计

2、算机硬件系统、考虑许多细节编写繁琐,调试、维护、交流和移植困难3.1.28086指令系统概述Intel8086指令系统共有117条基本指令可分成6个功能组数据传送类指令算术运算类指令位操作类指令串操作类指令控制转移类指令处理机控制类指令由4部分组成:标号:--标号表示该指令在主存中的逻辑地址指令助记符--代表一种指令目的操作数,源操作数--表示参与操作的对象;注释--对该指令或程序段功能的说明3.1.28086指令系统概述1.数据传送类指令数据传送指令是将源操作数传送到目标操作数,即将数据、地址或立即数从一个位置传送到存储单

3、元中。数据传送指令是最常使用的一类指令除标志寄存器传送指令外,均不影响标志位指令包括:MOV,PUSH,POP,XCHG,LEA,LDS/LES,XLAT,IN,OUT(1)传送指令MOVMOVreg/mem,imm立即数送寄存器或主存MOVreg/mem/seg,reg寄存器送(段)寄存器或主存MOVreg/seg,mem主存送(段)寄存器MOVreg/mem,seg段寄存器送寄存器或主存举例演示立即数段寄存器CSDSESSS通用寄存器AXBXCXDXBPSPSIDI存储器MOV举例例:MOV数据传送MOVAL,20HMO

4、VAH,ALMOVSI,200HMOVAX,[BX]MOV[DI],AXMOVAX,DSMOVES,AXMOVBYTEPTR[SI],0AHMovWORDPTR[SI+2],0BH(2)堆栈指令PUSHPOP堆栈:后进先出FILO,位于堆栈段;SS段寄存器记录其段地址堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定演示PUSH格式:PUSHsrc操作:SP←SP-2,SS:[SP]←src,将堆栈指针SP减2,再将src压入堆栈顶部,src为16位操作数例:PUSHAX;将AX内容压入堆栈;(SP)-1←AH,高地址存

5、入高字节;(SP)-2←AL,低地址存入低字节;(SP)←(SP)-2,SP指向新栈顶PUSH压入堆栈指令演示POP格式:POPdest操作:dest←SS:[SP],SP←SP+2,将栈顶的一个字弹出传送到dest,再将SP加2,将SP指向新的栈顶,dest的寻址方式是除立即寻址之外的所有存储器寻址方式和寄存器寻址方式。例:POPBX;将栈顶内容弹出到BX ;(BL)←(SP),低地址弹出到低字节;(BH)←(SP)+1,高地址弹出到高字节;(SP)←(SP)+2,SP指向新栈顶POP弹出堆栈指令演示(3)交换指令XCHG

6、把两个地方的数据进行互换XCHGreg,reg/mem;regreg/mem寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据举例演示(3)交换指令XCHG举例例:MOVAX,1234HXCHGAH,AL;AX高低字节交换,;结果:AX=3412HMOVBX,0ABCDHXCHGAX,BX;AX与BX交换内容,;结果:AX=0ABCDH;BX=3412HXCHG[2000H],CL将DS:[2000H]内容与;CL计数器低字节进行字节交换(4)有效地址传送指令LEA将存储器操作数的有效地址

7、传送至指定的16位寄存器中LEAr16,mem;r16←mem的有效地址EA举例(4)有效地址传送指令LEA举例例:设:(SI)=2000HLEABX,[SI+3412H]执行指令结果将偏移地址3010H传送到BX,即(BX)=5412H(5)LDS/LES指针传送指令LDSr16,mem;r16←mem,;DS←mem+2LDS指令将主存中mem指定的字送至r16,并将mem的下一字送DS寄存器LESr16,mem;r16←mem,;ES←mem+2LES指令将主存中mem指定的字送至r16,并将mem的下一字送ES寄存器

8、(6)XLAT换码指令将BX指定的缓冲区中、AL指定的位移处的一个字节数据取出赋给ALXLAT;AL←DS:[BX+AL]换码指令执行前:主存建立一个字节量表格,含要转换成的目的代码表格首地址存放于BX,AL存放相对表格首的位移量换码指令执行后:将AL寄存器的内容转换为目标代码演示2.输入

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

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

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