- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.5 程序设计 高级汇编技术 待修改课件
3.5 汇编语言程序设计;*;*;*;*;*; 【例 】已知在内存中有一个字节单元X,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。
分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086指令系统中有专门的求相反数的指令NEG。
源程序设计如下:;
DATA SEGMENT
X DB -25 ;定义变量
RESULT DB ? ;定义结果保存单元
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX ;初始化DS
MOV AL,X ;X取到AL中
TEST AL,80H ;测试AL正负
JZ NEXT ;为正,转NEXT
NEG AL ;否则AL求补
NEXT: MOV RESULT,AL ;送结果
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS
END START ;汇编结束;*;*; 【例】设计一个程序,统计在内存W单元保存的无符号字变量中有多少个二进制“1”,统计结果送内存N单元保存。
分析:要统计内存W单元保存的无符号字变量中有多少个二进制“1”,可以将该数据送寄存器AX中,通过移位指令将AX中的每一位依次移入进位标志CF中,若CF=1则计数器CL的值加1,这样就可以统计出AX中1的个数。
设计源程序如下:。 ;DATA SEGMENT
W DW 00FFH ;定义字数据
N DB ? ;定义结果保存单元
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA ;初始化DS
MOV DS,AX
MOV CL,0 ;计数器清零
MOV AX,W ;取数到AX
AA:AND AX,AX ;逻辑与,判AX=0?
JZ CC ;结果为0转移到CC
SHL AX,1 ;逻辑左移1位
JNC BB ;无进位转BB
INC CL ;有“1”则计数
BB:JMP AA ;无条件转AA
CC:MOV N,CL ;结果送N单元
MOV AH,4CH ;返回DOS
INT 21H
CODE ENDS
END START ;汇编结束 ;*;*;*;*;*;*; 【例】数据段中有一组带符号数据,存放在从A单元开始的区域中,试编程序实现将它们按从小到大的顺序排序。要求排序后依然放在原来的存储区中。
我们采用冒泡法来设计该程序。
从第一个数开始依次对两两相邻的两个数进行比较,如果次序符合要求(即第i个数小于第i+1个数),不做任何操作;否则两数交换位置。这样经过第一轮的两两比较(N-1次),最大数放到了最后。第二轮对前N-1个数做上面的工作,则把次大数放到了倒数第二个单元……依次类推,做N-1轮同样的操作,就完成了从小到大排序。
通过上述分析可以知道,该算法要用双重循环实现。外循环次数为N-1次,内循环次数分别为N-1次、N-2次、N-3次……2次、1次。所以内循环的循环次数和外循环的计数器值有关,即等于外循环计数器的值。 ;*;*;*;*;从本例可以看出子程序的基本结构包括以下几个部分:
(1)子程序说明:用来说明子程序的名称、功能、入口参数、出口参数、占用工作单元的情况,明确该子程序的功能和调用方法。
(2)现场保护及恢复:由于汇编语言所处理的对象主要是CPU寄存器或内存单元,主程序在调用子程序时已经占用了一定的寄存器,子程序执行时又要用到这些寄存器,执行完毕返回主程序后,为了保证主程序按原有的状态继续正常执行,需要对这些寄存器的内容加以保护,这就是保护现场;子程序执行完毕后再
您可能关注的文档
最近下载
- 22G101 三维彩色立体图集.docx VIP
- DB41T2454-2023 测量仪器检定校准证书有效性确认技术规范 (2).pdf VIP
- 全过程工程咨询流程.pptx VIP
- (完整版)初中物理新课标解读.pptx VIP
- 火电厂湿法脱硫脱硝石膏中氯离子的去除工艺、药品方法.pdf VIP
- 《党政主要领导干部和国有企业领导s人员经济责任审计规定》释义.doc VIP
- 2025年全国普通高校招生全国统一考试数学真题(新高考Ⅰ卷)(含答案).pdf
- T_JAASS 164-2025 零碳农业园区创建与评价技术规范.docx VIP
- 品牌代理合同范本.docx VIP
- 标准与标准化知识.ppt VIP
文档评论(0)