- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Intel 8086指令系统共有133种基本指令,从功能上可分成以下 7 类: ① 数据传送类指令 ② 算术运算类指令 ③ 位操作类指令 ④ 串操作类指令 ⑤ 控制转移类指令 ⑥ 处理机控制类指令 ? 中断类指令 指令操作数的泛指表示 r8 —— 泛指8位通用寄存器AH/AL/BH/BL/CH/CL/DH/DL r16 —— 泛指16位通用寄存器AX/BX/CX/DX/SI/DI/BP/SP reg —— 泛指r8或r16 seg —— 泛指段寄存器CS/DS/ES/SS m8 —— 泛指8位存储器操作数单元(包括所有寻址方式) m16 —— 泛指16位存储器操作数单元(包括所有寻址方式) mem —— 泛指m8或m16 i8 —— 泛指8位立即数 i16 —— 泛指16位立即数 imm —— 泛指i8或i16 dest—— 泛指目的操作数 src —— 泛指源操作数 一、 数据传送类指令 把数据从一个位置传送到另一个位置 14条指令分 5 组: 1、通用数据传送: MOV/XCHG/XLAT 2、堆栈操作: PUSH/POP 3、标志寄存器传送: LAHF/SAHF/PUSHF/POPF 4、地址传送: LEA/LDS/LES 5、输入输出: IN/OUT 1、传送指令MOV(move) 传送指令把一个字节/字操作数从源地址传送至目的地址 MOV reg/mem,imm ;立即数送寄存器或主存:例4.1 MOV reg/mem/seg,reg ;寄存器送(段)寄存器或主存:例4.2 MOV reg/seg,mem ;主存送寄存器:例4.3 MOV reg/mem,seg ;段寄存器送寄存器或主存:例4.4 传送指令不是万能的,应避免非法传送. 例4.1:立即数传送 mov al,4 ;al←4,字节传送 mov cx,0ffh ;cx←00ffh,字传送 mov si,200h ;si←0200h,字传送 mov byte ptr [si],0ah ;ds:[si] ←0ah,byte ptr 说明是字节操作 mov word ptr [si+2],0bh ;ds:[si+2] ←0bh,word ptr 说明是字操作 注意立即数是字节还是字,即明确指令是字节操作还是字操作。 例4.2:寄存器传送 mov ax,bx mov ah,al mov ds,ax mov [bx],al 例4.3:存储器传送 mov al,[bx] ;al←ds:[bx] mov dx,[bp] ;dx←ss:[bp] mov es,[si] ;es←ds:[si] 注意:不存在存储器向存储器的传送指令 例4.4:段寄存器传送 mov [si],ds mov ax,es mov ds,ax 注意:对段寄存器的操作有一些限制 非法传送种种 两个操作数的类型不一致 例如源操作数是字节,而目的操作数是字;或相反 绝大多数双操作数指令(包括传送指令),除非特别说明,目的操作数与源操作数必须类型一致,或者同为字,或者同为字节,否则为非法指令。 MOV AL,050AH ;非法指令:050Ah为字,而AL为字节 寄存器有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型。 对于存储器单元与立即数同时作为操作数的情况,必须显式指明。 byte ptr指示字节类型,word ptr指示字类型。 非法传送种种 两个操作数不能都是存储器 传送指令很灵活,但主存之间的直接传送却不允许 8086指令系统不允许两个操作数都是存储单元(除串操作指令),没有主存至主存的数据传送。要实现这种传送,可通过寄存器间接实现。 例如:buffer1单元的数据传送到buffer2单元 mov ax,buffer1 ;ax←buffer1(将buffer1内容送ax) mov buffer2,ax ;buffer2←ax 这里buffer1和buffer2是两个字变量,表示直接寻址方式 非法传送种种 段寄存器的操作有一些限制 段寄存器属专用寄存器,对他们的操作能力有限 不允许立即数传送给段寄存器 MOV DS,100H ;立即数不能传送段寄存器 不允许直接改变CS值 MOV CS,[SI] ;不允许使用的指令 不允许段寄存器之间的直接数据传送 MOV DS,ES ;非法,不允许段寄存器间传送 2、交换指令XCHG(exchange) 把两个地方的数据进行互换 XCHG
您可能关注的文档
最近下载
- 100万吨焦炉烟气脱硫脱硝技术方案.docx
- 输液港夹闭综合征.pptx VIP
- 尾矿库闭库岩土工程勘察报告.pdf
- 简历--个性简历简历求职简历最新简历(流行创意型)8.doc VIP
- MOBILGEAR 600XP320 MSDS_653410美孚齿轮油系列.pdf VIP
- 水利工程安全隐患排查记录.doc VIP
- 简历--个性简历简历求职简历最新简历(8).docx VIP
- 2025至2030中国罗茨鼓风机行业市场深度研究及发展前景投资可行性分析报告.docx VIP
- MSDS_Mobilgear 600XP460美孚齿轮油系列.pdf VIP
- MSDS美孚齿轮油600XP220美孚齿轮油系列.pdf VIP
原创力文档


文档评论(0)