86汇编语言速成秘籍

8086汇编总结程伟整理8086汇编总结一、8086编程结构执行部件EU通用寄存器AX累加器数据寄存器BX基数寄存器CX计数器DX数据寄存器专用寄存器BP基数指针指针寄存器堆栈段偏移地址SP堆栈指针给出栈顶偏移地址SI源变址寄存器变址寄存器数据段偏移地址DI目的变址寄存器标志F标志寄存器,标志寄存器总线接口部件BIU段寄存器CS代码段不能被赋值复位后为FFFFH存储器DS数据段复位后为0000HES附加段SS堆栈段存放堆栈基地址IPIP指令指针寄存器器指令指针寄存器二、状态标志寄存器F标志位名功能为1对应符为0对应符CF进位标志1最高位产生进位CYNCAF辅助进位标志1低四位产生进位ACNAZF零标志1结果为0,0结果不为0ZRNZSF符号标志1结果为负,0结果为正NGPLPF奇偶标志1底八位有偶数个1,0结果有奇数个1PEPOOF溢出标志1最高位有进位,0最高位没进位OVNVDF方向标志控制标志位DNUPIF中断允许标志EIDITF跟踪标志三、寻址方式{(PA物理地址=实际地址=绝对地址=cpu以实际地址访问存储器)=段基址*10H+(逻辑地址=偏移地址=有效地址EA=程序以逻辑地址编址)}寻址方式操作数物理地址(PA)指令格式举例立即寻址操作数在指令中直接给出源操作数为地址MOVDX,100H;(DX)←100H寄存器寻址操作数在寄存器中操作数需要寻址ADDAX,BX;(AX)←(AX)+(BX)直接寻址操作数的有效地址由指令直接给出操作数需要计算MOVAX,[100];(AX)←(100)寄存器间接寻址PA=(DS)|(SS)×16+(BX)|(SI)|(DI)|(BP)给出的均为操作数的逻辑地址,而且将逻辑地址分成几段,经计算才能得到操作数MOVAX,[BX];(AX)←((DS)×16+(BX))寄存器相对寻址PA=(DS|SS)×16+(BX|BP|SI|DI)+偏移量MOVAL,OFFSET[SI];(AL)←((DS)×16+(SI)+OFFSET)基址变址寻址PA=(DS|SS)×16+(BP|BX)+(SI|DI)MOVAX,[BX+DI];(AX)←((DS)×16+(BX)+(DI))18086汇编总结程伟整理相对基址变址寻址PA=(DS|SS)×16+(BX|BP)+(SI|DI)+偏移量MOVAX,OFFSET(BX+DI);(AX)←((DS)×16+(BX)+(DI)+OFFSET)B——二进制D——十进制Q——八进制H——十六进制四、符号约定及含义符号含义i8一个8位立即数立即数i16一个16位立即数imm一个8位或16位立即数r8一个8位通用寄存器AHALBHBLCHCLDHDLr16一个16位通用寄存器或专用寄存器AXBXCXDXBPSPSIDIreg一个8位或16位通用寄存器或专用寄存器seg一个16位段寄存器DSCSESSSm8一个8位的存储器操作数m16一个16位的存储器操作数mem一个8位或16位存储器操作数m32一个32位的存储器操作数dest目标操作数src源操作数portI/O端口五、CMP指令的结果判断方法28086汇编总结程伟整理一、指令表(指令分六大类)1、数据传送类(只有标志传送指令对F寄存器影响)类型汇编指令格式功能操作数说明时钟周期数字节数说明通用数据传送指令MOVdest,src数据传送指令(dest)←(src)reg,segreg,memreg,immreg,regmem,regmem,segmem,immseg,regseg,mem28+EA429+EA9+EA10+EA28+EA22~42~322~42~43~622~4Cs不能做目标操作数,不能被赋值。段寄存器之间不能传输数据。目标操作数和源操作数不能同时为内存操作数(存储器操作数)。寄存器中的数为操作数地址时为内存操作数,如【XX】。PUSHsrc入栈(SP)←(SP)-2((SP)+1,(SP))←(src)r16segm16111016+EA112~4栈底为高地址高字节先入栈每次两个字节参与(16位)基地址在ss中偏移地址在sp中调用或中断时保存返回地址POPdst出栈(dst)←((SP)+1,(SP))(SP)←(SP)+2r16segm168817+EA112~4大小关系A-B相关标志位判断依据无符号ZFCFA>B00ZF=1A=BCF=1A<BCF或ZF=0A>BA=B10CF=0A>=BA<B01CF或ZF=1A<=BAB大小关系相关标志位判断条件大小关系有符号SFZFOF>0>0A>B000ZF=1A=B>0>0A<B100SF异或OF=1A<B>0<0A>B000(SF异或OF)或ZF=0A>B101<0>0A<B100001<0<0A<B100SF异或OF=0A>=B<0<0A>B000(SF异或OF)或ZF=1A<=BABA=B01038086汇编总结程伟整理XCHGdest,src数据交换指令(des)←→(src)reg,memreg,regmem,reg17+EA432~421两者互换,但不能同时为存储器操作数,存储内容互换要借助通用寄存器XLAT换码指令AL←DS中逻辑地址为(BX+AL)的内存单元111操作数均隐含输入输出指令INAL/AX,port(acc)←(port)AX字节,AL字,DX不是操作数而是地址102直接寻址,port地址范围0-255(0ffh)...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?