x86汇编语言程序设计ppt课件.ppt

x86汇编语言程序设计ppt课件.ppt

ID:58878579

大小:679.00 KB

页数:145页

时间:2020-09-30

x86汇编语言程序设计ppt课件.ppt_第1页
x86汇编语言程序设计ppt课件.ppt_第2页
x86汇编语言程序设计ppt课件.ppt_第3页
x86汇编语言程序设计ppt课件.ppt_第4页
x86汇编语言程序设计ppt课件.ppt_第5页
资源描述:

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

1、8086汇编程序设计8086CPU内部结构框图暂存器ALU标志寄存器EU控制器总线控制电路ALU数据总线16位队列总线8位地址总线20位数据总线16位8086总线16位数据总线指令执行单元EU总线接口单元BIU8086CPU内部结构框图通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISI内部寄存器IPESSSDSCS123456∑通用、指针及变址寄存器通用寄存器指针及变址寄存器15870AXAHAL累加器BXBHBL基址寄存器CXCHCL计数寄存器DXDHDL数据寄存器150SP堆栈指针寄存器BP基指针寄存器SI源变址寄存器DI目的变址寄存器隐含定义

2、缺省搭配(段内指针)段寄存器和指令指针寄存器段寄存器指令指针寄存器150CS代码段寄存器DS数据段寄存器SS堆栈段寄存器ES附加段寄存器150IP指令在代码段中的偏移量CS:IP当前正指向的指令的地址,CSx16+IP如CS=2000HIP=003AH则物理地址为2003AH物理地址的形成四个段寄存器CSDSSSES逻辑地址由段寄存器和段内偏移量寄存器组成物理地址=段寄存器的值x16+段内偏移量寄存器的值物理地址的形成(续)物理地址=段寄存器的值x16+段内偏移量寄存器的值段内偏移量150物理地址2000000段基址150不同的段基址和段内偏移量可得到相同的物理地址,如:

3、1234:0005=123451230:00451200:0345逻辑地址的来源CS,IP指向代码段SS,SP指向堆栈段代码段数据段堆栈段CSIPDSBX(SI,DI)SSSPDS,BX(SI,DI)指向数据段ES,DI(串操作)指向附加段段寄存器与段内指针寄存器有缺省搭配:[BX]=(DS)*10H+(BX)[BP]=(SS)*10H+(BP)[SI]=(DS)*10H+(SI)[DI]=(DS)*10H+(DI)寄存器间接标志寄存器运算结果标志CFPFAFZFSFOF系统状态标志TFIFDF150PSW指令在代码段中的偏移量1514131211109876543210

4、OFDFIFTFSFZFAFPFCF运算结果标志运算结果标志CFPFAFZFSFOFCF:进位/借位标志CF=1CY有进位/借位CF=0NCPF:奇偶标志PF=1PE运算结果中有偶数个1PF=0POAF:辅助进位标志AF=1AC有辅助进位/借位AF=0NA常用于BCD码运算字节:带符号数-128~12710000000~01111111(二进制)字:带符号数-32768~32767ZF零标志ZF=1ZR运算结果为零ZF=0NZSF符号标志SF=1NG运算结果为负SF=0PLOF溢出标志OF=1OV带符号数运算结果溢出OF=0NV系统状态标志系统状态标志TFIFDFTF:陷

5、阱标志TF=1使CPU每执行一步(一条指令)即产生一个内部中断TF=0禁止跟踪IF:中断标志IF=1允许CPU响应外部的可屏蔽中断(STI)IF=0禁止中断(CLI)DF:方向标志DF=1串操作指令为自动减量(STD)DF=0串操作指令为自动增量(CLD)在指令:LODSB[DS:SI]STOSB[ES:DI]......汇编语言程序设计1汇编语言的基本语法2汇编语言程序设计1汇编语言的基本语法汇编语言源程序的格式常量、标识符和表达式指示性语句(伪指令)名字与变量指令性语句DATASEGMENTAT2000HARRAYDBa1,a2,a3,…a10;a1~a10为立即数C

6、OUNTEQU$-ARRAY;count=10-0=10SUMDW?;值不定DATAENDSSTACKSEGMENTPARASTACK‘STACK’STAKDB10DUP(?);复制10个不定值TOPEQULENGTHSTAK;Length是取变量长度的操作符STACKENDS;Top=10.见P44汇编语言源程序的格式CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;DSDATA段基址MOVAX,0;AX0MOVDI,OFFSETSUM;DI11MOVBX,OFFSETARRAY;B

7、X0MOVCX,COUNT;CX10LOP:ADDAL,[BX];AL=+array[0]ADCAH,0;进位加到AH,INCBX:见(汇编指令P45)LOOPLOP;见(汇编指令P99)MOV[DI],AX;SUMarray[i]MOVAH,4CH;4CH号DOS功能调用INT21H;为结束程序,见P62CODEENDSENDSTART=(DS)*10H+(BX)DOSCall4C()=stop()汇编语言源程序格式的特点是:1.分段结构2.语句行汇编语言程序的语句有两类:(1)指令性语句:机器指令的汇编形式(2)指

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

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

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