微机原理五类常用程序(共6页).doc

上传人:飞****2 文档编号:14199234 上传时间:2022-05-03 格式:DOC 页数:6 大小:26KB
返回 下载 相关 举报
微机原理五类常用程序(共6页).doc_第1页
第1页 / 共6页
微机原理五类常用程序(共6页).doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《微机原理五类常用程序(共6页).doc》由会员分享,可在线阅读,更多相关《微机原理五类常用程序(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上五类常用程序:传输数据 求最大最小值 统计正负数 排序 加法程序存储器清零或置FF1.1将1000H-1063H中的各字节内容清0(或置FFH) 1.2传输数据块将1000H-1063H中的字节内容传递到4000H-4063H2.找最大值最小值从2500H-2563H中存放着数据,把其中的最大值找出来,地址存放在3000H中3.统计负数正数从2100H 开始存放100个无符号数,统计有多少个正数,多少个负数。负数个数存入2200H4.1求 1AH+02H+31H+14H+2FH+06H=?数据1AH、0FH 、24H、4EH、18H、2DH放在3000H- 3005H

2、处4.2求十进制计算25 74 89 67+ 49 78 64 95数据25 74 89 67放在2400- 2403数据49 78 64 95放在2500- 25034.3将BLOCK单元开始的10个单元数相加,结果存放入BLOCK单元。若相加过程中发生溢出,停止运算,并在DL中设置溢出标志FF.5.冒泡排序方法5.1字节型变量VAR1、VAR2和VAR3存放有3个无符号数,将其中的内容按从大到小重新排列。 解:经重新排列后,VAR1的值最大,VAR3的值最 小。由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。编程思路:通过在三个数中找出最大值,将它与VAR1单

3、元进行交换;然后对剩余的两个数进行比较,将较大值存放在VAR2中。汇编语言程序如下:5.2存放在2040H-2045H中的字节数据由大到小排列1.1将1000H-1063H中的各字节内容清0(或置FFH) MOV SI, 1000HMOV CX, 0064HXOR AL,ALL1: MOV SI, ALINC SIDEC CXJNZ L1HLT1.2传输数据块将1000H-1063H中的字节数据内容传递到4000H-4063HMOV SI, 1000HMOV DI, 4000HMOV CX, 0064HL1: MOV AL, SI MOV DI, ALINC SIINC DIDEC CXJNZ

4、 L1HLT2. 从2100H 开始存放100个无符号数,求最大值并存入单元2200HMOV SI, 2100HMOV CX, 0064HXOR AL,ALL1: CMP AL, SIJNC L2 MOV AL , SI L2: INC SIDEC CXJNZ L1MOV 2200, ALHLT如果求最小值XOR AL,AL 改为MOV AL,0FFHJNC L2 改为JC L2或者 MOV SI, ALINC SI相应 MOV CX, 0063H3.统计负数正数从2100H 开始存放100个无符号数,统计有多少个正数,多少个负数。负数个数存入2200HMOV SI, 2100HMOV CX,

5、 0064HXOR DL,DLL1: MOV AL, SIAND AL,AL(/AND AL, FFH/TEST AL, 80H)JNS L2 INC DLL2: INC SILOOP L1MOV 2200,DLHLTLOOP L1可以改为DEC CXJNZ L1求最大最小值 JNC JC求正负数用 JS JNS4.1 1AH+0FH +24H+4EH+18H+2DH=?0E计算数据1AH、0FH 、24H、4EH、18H、2DH放在3000H- 3005H处参考程序:MOV SI,3000H MOV CX,0006H XOR AL,AL AA: ADD AL,SI INC SIDEC CXJ

6、NZ AA MOV 3040H ,ALHLT4.2求十进制计算25 74 89 67+ 49 78 64 95数据25 74 89 67放在2400- 2403数据49 78 64 95放在2500- 2503MOV SI,2400HMOV DI,2500HMOV BX,2600HMOV CX,0004HXOR AL,ALAA: MOV AL,SIADC AL,DIDAAMOV BX,ALINC SIINC DIINC BXLOOP AAHLT5.冒泡排序方法5.1字节型变量VAR1、VAR2和VAR3存放有3个无符号数,将其中的内容按从大到小重新排列。 解:经重新排列后,VAR1的值最大,V

7、AR3的值最 小。由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。编程思路:通过在三个数中找出最大值,将它与VAR1单元进行交换;然后对剩余的两个数进行比较,将较大值存放在VAR2中。汇编语言程序如下:STACK SEGMENT STACK STACK DW 100H DUP(?)TOP LABEL WORDSTACK ENDSDATA SEGMENTVAR1DB 46H ;先假设一组值,以便检验程序设计的正确性VAR2DB 15HVAR3DB 0A2HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:

8、STACKSTART: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX, STACK MOV SS, AX LEA SP,TOP MOV AL,VAR1;用户编写的程序 CMP AL,VAR2 JAE NO_CHG1 XCHG AL,VAR2NO_CHG1: CMP AL,VAR3 JAE NO_CHG2 XCHG AL,VAR3NO_CHG2: MOV VAR1,AL;最大值保存到VAR1 MOV AL,VAR2 CMP AL,VAR3 JAE NO_CHG3 XCHG AL,VAR3 MOV VAR2,AL;次大值保存到VAR2NO_CHG3: MOV

9、AH,4CH;返回DOS操作系统 INT 21HCODE ENDS END START程序执行后,(VAR1)0A2H,(VAR2)46H,(VAR3)15H,说明程序设计正确。一般来说,在程序结束处,应该使之返回到DOS状态,以便进行其它操作。 当要排序的数据为有符号数时,只需要将程序中相应的JAE指令改成JGE指令。存放在2040H-2045H中的字节数据由大到小排列AA: MOV DL,00HMOV SI,2400HMOV CX,0006HDEC CXL0: MOV AL, SIINC SICMP AL, SIJNC L1XCHG AL, SIDEC SIMOV SI , ALINC SIMOV DL,01H;L0: LOOP L1DEC DLJZ AAHLT专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁