负数的个数

上传人:jiups****uk12 文档编号:39995556 上传时间:2018-05-22 格式:DOC 页数:2 大小:45.23KB
返回 下载 相关 举报
负数的个数_第1页
第1页 / 共2页
负数的个数_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《负数的个数》由会员分享,可在线阅读,更多相关《负数的个数(2页珍藏版)》请在金锄头文库上搜索。

1、1 1求某数据区内负数的个数求某数据区内负数的个数STACK1 SEGMENT STACK DW 64 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START:MOV DI,3000H ;设数据区首址 MOV CL,DI ;送数据个数 XOR CH,CH ;CH 清 0 MOV BL,CH ;BL 清 0 INC DI ;指针指向第一个数据 A1: MOV AL,DI TEST AL,80H ;数据首位是否为 1JE A2 INC BL ;负数个数累加A2: INC DI LOOP A1 MOV DI,BL ;存结果A3: JMP A3 COD

2、E ENDS END START 输入:0000:3000 06、12、88、82、90、22、332 2修改程序 2,使其能分别求出数据区中正数、零和负数的个数。STACK1 SEGMENT STACKDW 64 DUP(?) STACK1 ENDS CODE SEGMENTASSUME CS:CODE START: MOV DI,3000H MOV CL,DI MOV BL,00H MOV BH,00H MOV DH,00H INC DI A1: MOV AL,DITEST AL,80H JZ B1INC BL JMP A3 B1: OR AL,00H JNZ A2 INC BHJMP A

3、3 A2: INC DH JMP A3 A3: INC DI LOOP A1 A4: MOV DI,BL ;负数个数MOV DI+01H,BH ;零的个数MOV DI+02H,DH ;正数个数A5: JMP A5 CODE ENDS END START 3 3设在变量单元 A、B 和 C 中存放有三个数,若三个数都不为 0,则求出三个数之和存入 D 单元中;若有一个为 0,则将其它两个单元也清 0,试编写程序。STACK1 SEGMENT STACKDW 64 DUP(?) STACK1 ENDS DATA SEGMENTA DB ?B DB?C DB?D DB? DATAENDS CODE

4、SEGMENTASSUME CS:CODE START:MOV BL ,A ;MOV CH ,B;MOV CL, C ;XOR BH,BH ;BH 清 0 A1: OR BL,00H ; 看数据是否为 0JZ A2;ADD BH,BL;OR CH,00H ; 看数据是否为 0JZ A3;ADD BH,CH;OR CL,00H ; 看数据是否为 0JZ A4;ADD BH,CL;JMP A5 A2: MOV CH,00H ;MOV CL,00H ;JMP A6 A3: MOV BL,00H ;MOV CL,00H ;JMP A6 A4: MOV BL,00H ;MOV CH,00H ;JMP A

5、6 A5: MOV D, BH;把和存入 D 单元中A6: JMP A6 CODE ENDS END START (1)输入:0000:3000 02 05 07 输出:0000:3007 0E CC CC CC CC CC CC CC (2 输入:0000:3000 02 00 07 输出:0000:3007 00 00 00 CC CC CC CC CC 实验心得:本次试验遇到的最大问题是,基本指令的使用条件不清楚,浪费许多时间。每执行一次 LOOP 指令,CX 自 动减 1。如果减 1 后 CX 不等于 0,则继续循环。而我最初设计实验时,把正数个数存在 CH,循环一直进行,得不到正 确结果,后来通过翻书才发现问题,得到改正。以后,把基础知识学扎实,基本指令使用规则弄明白,这样在运用时 才能灵活自如。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号