- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
王爽《汇编语言》 第3章 寄存器(内存访问)课件
第三章 寄存器(内存访问);一、内存中字的存储
;0;二、DS和[address]
;通用寄存器
AX、BX、CX、DX、BP、SP、SI、DI、AL、AH、BL、BH、CL、CH、DL、DH;判断下列指令是否正确,若错误,为什么?
1、MOV CL,1000H
2、MOV AL,[1000H]
3、MOV [BX],[SI]
4、MOV AH,BH
5、MOV AX,[SI]
6、MOV 1234H,BX
7、MOV CL,AX
8、MOV CS,AX
9、MOV DS,CS;问题:
试写几条指令,将AL中的数据保存到内存单元12345H中。;三、字的传送
;例:内存单元中的情况如图所示,写出下面指令执行后寄存器AX,BX,CX中的值。
MOV AX,1000H
MOV DS,AX
MOV AX,[0]
MOV BX,[2]
MOV CX,[1]
ADD BX,[1]
ADD CX,[2];例:内存单元中的情况如图所示,写出下面指令执行后内存中的值。
MOV AX,1000H
MOV DS,AX
MOV AX,11316
MOV [0],AX
MOV BX,[0]
SUB BX,[2]
MOV [2],BX;四、 MOV、ADD、SUB指令
一条指令包括如下内容:
1)操作码:指令所执行的操作。
2)操作数:指令操作的对象,包括操作数的来源,操作结果的去向。操作对象通常为存储器地址,寄存器或立即数。
;通用寄存器
AX、BX、CX、DX、BP、SP、SI、DI、AL、AH、BL、BH、CL、CH、DL、DH;五、 数据段
;六、栈(堆栈)
栈:是具有特殊的访问方式的存储空间。
栈有两个基本操作:入栈;出栈。;七、CPU提供的栈机制、PUSH和POP指令
;10000H;CPU执行指令——CS:IP
CPU读写内存数据—DS:[address]
CPU进行堆栈操作—;PUSH 入栈过程;POP 出栈过程;八、栈顶超界的问题
;九、PUSH、POP指令
例:编程,将10000H—1000FH这段空间当作栈,初始状态栈是空的,将AX,BX,DS中的数据入栈。;例:编程:
将10000H—1000FH这段空间当作栈,初始状态是空的;
设置AX=001AH,BX=001BH;
将AX,BX中的数据入栈;
然后将AX、BX清零;
从栈中恢复AX、BX原来的内容;;例:编程
将10000H—1000FH这段空间作栈,初始状态栈是空的;
设置AX=002AH,BX=002BH;
利用栈,交换AX和BX中的数据。;例:如果要将10000H处写入字型数据2266H,可以用以下指令完成:
MOV AX,1000H
MOV DS,AX
MOV AX,2266H
MOV [0],AX
补全下面的代码,使它能够完成同样的功能
;十、栈段
分析:如果我们将10000H—1FFFFH这段空间作栈段,初始状态栈是空的,此时SS=1000H,SP=?一个栈段最大可以设为多少?
文档评论(0)