- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章指令系统第一讲
指令:让计算机完成某种操作的命令。 指令系统(集):指令的集合。 操作码:指计算机所要执行的操作,即指出操作类型,是一种助记符。 操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。 寻址方式:就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。 MOV AL,[BX]; [DS*10H+BX]送AL 设DS=3000H,BX=2000H,(32000H)=45H,则执行该指令后,AL=45H。 MOV AL,[BP]; [SS*10H+BP]送AL 设 DS=2000H,SS=1000H, BP=0100H,(10100H)=3BH,(20100H)=4CH。执行这条指令后,AL=3BH。 MOV AX,[BX]; [DS*10H+BX]送AL,[DS*10H+BX+1]送AH MOV AL,5[BX] MOV AL,[BX+5] COUNT EQU 5 ???????? MOV AL,COUNT[BX] 以上三个例子是等价的,它执行的操作是:DS*10H+BX+5送AL。这里,5称为位移量,它可以是8位或16位的二进制数。 MOV AX,[BX+SI+COUNT] MOV AX,COUNT[BX][SI] MOV AX,[BX+COUNT][SI] MOV AX,[BX]COUNT[SI] MOV AX,[BX+SI]COUNT MOV AX,COUNT[SI][BX] 若(DS)=3000H,(BX)=2000H,(SI)=1000H,COUNT=0250H, 则物理地址=10H*(DS)+(BX)+(SI)+COUNT=30000+2000+1000+0250=33250H ⑴CPU内部寄存器之间数据的任意传送(除了代码段寄存器CS和指令指针IP以外)。 MOV AL,BL;字节传送 MOV CX,BX;字传送 MOV DS,BX ⑵立即数传送至CPU内部的通用寄存器组(即AX、 BX、CX、DX、BP、SP、SI、DI ), MOV CL,4 MOV AX,03FFH MOV SI,057BH ⑶CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式)之间的数据传送。 MOV AL,BUFFER MOV AX,[SI] MOV [DI],CX MOV SI,BLOCK[BP] MOV DS,DATA[SI+BX] MOV DEST[BP+DI],ES ⑷ 能实现用立即数给存储单元赋值 MOV [2000H],25H 【例】 指出下列数据传送指令中的错误。 ① MOV 10H,AX ;立即数不能作为目的操作数 ② MOV DS,2000H ;立即数不能送段寄存器 ③ MOV CS,AX ;CS不能作为目的操作数 ④ MOV DS,ES ;目的操作数和源操作数不能同时为 段寄存器 ⑤ MOV [DI],[SI] ;目的操作数和源操作数不能同时为 存储器 ⑥ MOV AL,BX ;类型不匹配,AL为8位、BX为16位 寄存器 ⑦ MOV DL,300 ;类型不匹配,DL为8位寄存器,300超 过1B XCHG AL,CL XCHG AX,DI XCHG BX,SI XCHG AX,BUFFER XCHG DATA[SI],DH 功能:从I/O端口输入数据至AL或AX。 注意:输入指令允许把一个字节或一个字由一个输入端口传送到AL或AX中。若端口地址超过255时,则必须用DX保存端口地址,这样用DX作端口寻址最多可寻找64K个端口。 功能:将AL或AX的内容输出至I/O端口。 注意:该指令将AL或AX中的内容传送到一个输出端口。端口寻址方式与IN指令相同 例如: 内存数据段有一张16进制数的ASCII码表,设首地址为2000H,如欲查出表中第11个代码(代码序号从0开始)即十六进制数B的ASCII码。ASCII表在DS段中,并假设(DS)=4000H。见下页图。 (1)LEA(Load Effective Address) 有效地址送寄存器指令 格 式: LEA reg16,mem16
原创力文档


文档评论(0)