- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言第4章课件
汇编语言程序设计;第四章 顺序结构程序设计;4.4.2 算术运算指令
4.4.3 逻辑操作指令
4.4.4 移位操作指令
4.4.5 状态标志位操作指令
4.4.6 系统功能调用
4.5 顺序结构程序设计; 程序是解决某个问题的指令或语句的有序集合。程序设计是用某种计算机语言或指令编写程序的过程。
用汇编语言进行程序设计,一般按下述 5 个步骤进行:
1 .分析问题
分析问题主要是弄清已知条件、原始数据以及对运算精度、速度等的要求,以获得一个正确的结果。
2.建立数学模型
当实际问题没有现成的数学公式或数学模型可利用时,就需要建立一个数学模型来描述处理过程。
; 3.设计算法
算法即将解题的方法步骤具体化,但规则必须是有穷的。
4.编制程序
用机器指令助记符或语句实现算法的过程,就是编程。
编程时要严格按语法规则书写,并考虑内存空间的分配,
数据的精度,源程序的可读性等。
5.设计调试
对编制好的源程序进行汇编、连接和调试。汇编程序
只能检查源程序中的语法错误,而程序中的算法错误,必
须用纠错程序来调试。通常是输入几组数据,检查运行结
果,如有错误,需进行修改,直至达到设计要求为止。;4.2 流程图的应用;4.3 程序的基本控制结构;4.4 基本指令系统4.4.1 数据传送指令; 说明:
① 指令中的源操作数,目标操作数不能同时
为存储器操作数。如 MOV DATA1 ,DATA2
② CS 不能做为目标操作数。如 MOV CS ,AX
③ 段寄存器之间不能相互传送。如 MOV DS ,CS
④ 立即数不能直接传送到段寄存器。
如 MOV DS ,3210H
⑤在两个操作数中,必须至少有一个操作数的类型是确定的,而且要类型匹配。
2.PUSH ( push word onto stack ) 进栈(表4-3/4-4P63)
指令汇编格式:PUSH src
操作:SP ← SP – 2 ,(SP + 1,SP)←(src)
受影响的标志位:没有
注意:src 一定是 16 位的寄存器操作数或存储器操作数。;例: PUSH AX
操作:SP ← SP-2 ,(SP)← AL,(SP+1)← AH
PUSH ARRAY [DI]
操作: SP ← SP-2 ,(SP)←(ARRAY+DI),
(SP+1)←(ARRAY + 1 + DI)
3.POP(pop word off stack into destination)出栈
指令汇编格式:PUSH dest
操作:dest ←(SP + 1,SP), SP ← SP + 2
例:POP CX ;CL ←(SP),CH ←(SP +1),SP ← SP + 2
4.XCHG(exchange)交换表4-2
指令汇编格式:XCHG dest ,src
操作:(dest) (src)
受影响的标志位:没有;5.XLAT(translate)转换表
指令汇编格式:XLAT ;操作:AL ←(BX + AL)
受影响的标志位:没有
XLAT 指令用于查表。表的
起始地址放在 BX 中,待查数据
放在 AL 中,作为偏移量。
例:已知一位十进制数的ASCII
码表,BX = 3000H,AL = 05H,
执行 XLAT 后,AL = 35H。
6.LEA (load effective address ) 取有效地址
指令汇编格式:LEA dest ,src ;操作:dest ← EA
受影响的标志位:没有; 说明:LEA 指令是将源操作数地址的偏移量,即有效
地址送到目标操作数中。 src 必须是一个存储器操作数,
而 dest 可以是任意16 位通用寄存器、指针寄存器和变址
寄存器。
例:LEA BX ,DATA ;BX ← OFFSET DATA
LEA DX
文档评论(0)