- 1、本文档共235页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机道理第三章(下)
;第三节 8086/8088的指令系统; 第一部分 指令系统概述;介绍指令系统使用的符号:
八位寄存器: AH,AL,BH,BL,CH,CL,DH,DL
十六位通用寄存器: AX,BX,CX,DX,SP,BP,SI,DI
堆栈指针 SP
指令指针 IP(或PC)
标志位 Flags
目的和源变址寄存器 DI, SI
段寄存器 CS, DS, ES, SS
通用寄存器 r
AL或AX(取决于操作数长度) acc;src , dest 源,目的操作数(下列寻址方式都可以用)
[BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n]
[SI+n], [DI+n], [BP+n], [BX+n]
[N], r
[ ] 存储器单元的内容(正常在数据段)
ES:[ ] 附加存储器段的内容
OPRD 操作数
Seg 段寄存器(CS,DS,ES,SS)
i m 立即数 (n 8位, nn 16位, nnnn 32位 );8086/8088指令助记符表 (自学) ;8086/8088指令助记符表(续); 第二部分 8086/8088指令系统
一、 数据传送指令(Data transfer)
(一)通用传送指令(General Purpose Transfer)
(二)输入输出指令(Input and Output)
(三)目的地址传送指令(Address-object transfer)
(四)标志传送指令(Flag register transfer);一. 数据传送指令
功能:
负责把数据、地址或立即数传送到寄存器或存储单元。
特点:
它是计算机最基本、最重要的一种操作,使用比例最高。
种类(分四种):
通用传送指令包括: MOV, PUSH, POP ,XCHG, XLAT。
输入输出指令指令包括: IN, OUT。
目的地址传送指令包括: LEA, LDS, LES
标志传送指令包括 : LAHF, SAHF, PUSHF, POPF
除 SAHF和POPF指令外,对标志位没有影响。;(一)通用传送指令(General Purpose Transfer)
8088提供方便灵活的通用传送操作,适用于大多数操作数。
通用传送指令(除了XCHG以外)是唯一允许以段寄存器为操作数指令。
通用传送指令包括:
1、MOV (Movement)
2、PUSH (Push word onto stack)
POP (Pop word off stack)
3、XCHG (Exchange)
4、XLAT (Translate);1. MOV dest, src ; (dest) ? (src)
目的 源 目的 ? 源
功能:
把一个字节(B)或一个字(W)操作数由源传送至目的。
实现: 寄存器 ? 寄存器/存储器之间;
立即数?寄存器/存储器
寄存器/存储器?段寄存器之间的数据传送。;? 具体说,通用数据传送指令能实现:
① CPU内部寄存器之间数据的任意传送
(除了代码段寄存器CS和指令指针IP以外)。
段寄存器之间不能传送。
例:
MOV DL,CH ; 8位寄存器? 8位寄存器
MOV AX,DX ; 16位寄存器? 16位寄存器
MOV SI, BP
MOV DS,BX ;通用寄存器? 段寄存器
MOV AX, CS ;段寄存器 ?通用寄存器;立即数传送至CPU内部通用寄存器组
(AX、BX、CX、DX、BP、SP、SI、DI)。
用于给寄存器赋初值。
不能直接给段寄存器赋值
例:
MOV CL,04H ;立即数?8位寄存器
MOV AX,03FFH ;立即数?16位寄存器
思考:为什么加WORD PTR , BYTE PTR ?不加对吗?
MOV WORD PTR [ SI] ,057BH ;立即数?存储器
MOV BYTE PTR MEM, 5 ;立即数?存储器;CPU内部寄存器(除CS和IP外)与存储器(所有寻址方式)之间数据传送。
可以实现一字节或一个字的传送。
文档评论(0)