中国石油大学微机原理期末考试微机编程题总结.docx

上传人:牧羊曲112 文档编号:3071246 上传时间:2023-03-10 格式:DOCX 页数:8 大小:38.95KB
返回 下载 相关 举报
中国石油大学微机原理期末考试微机编程题总结.docx_第1页
第1页 / 共8页
中国石油大学微机原理期末考试微机编程题总结.docx_第2页
第2页 / 共8页
中国石油大学微机原理期末考试微机编程题总结.docx_第3页
第3页 / 共8页
中国石油大学微机原理期末考试微机编程题总结.docx_第4页
第4页 / 共8页
中国石油大学微机原理期末考试微机编程题总结.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《中国石油大学微机原理期末考试微机编程题总结.docx》由会员分享,可在线阅读,更多相关《中国石油大学微机原理期末考试微机编程题总结.docx(8页珍藏版)》请在三一办公上搜索。

1、中国石油大学微机原理期末考试微机编程题总结1已知在数据段中定义变量VAL1,其中装入了100个字节的数据;VAL2为数据段中定义的可以存储100个字节的变量。要求将VAL1中的内容取负后传送到VAL2中。画出程序流程图,并编写完整的8086汇编程序。数据段可采用以下定义形式: DATA SEGMENT VAL1 DB 100 DUP(?) VAL2 DB 100 DUP(?) DATA ENDS 答:流程图: 程序:结构1分,初始化1分,循环体1分,DOS接口1分。每部分可按0.5分进行得扣分。 CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,

2、DATA MOV DS,AX MOV ES,AX CLD MOV SI,OFFSET VAL1 ;LEA SI,VAL1 MOV DI,OFFSET VAL2 ;LEA DI,VAL2 MOV CX,100 LP: NEG SI MOVSB LOOP LP MOV AH,4CH INT 21H CODE ENDS END START 注:循环体内也可以使用减法指令、MOV指令、INC指令等。只要完成取负及数据传送即可。与DOS接口也可采用子程序结构。 2设在内存缓冲区中有一数据块STRDATA,存放着30 个字节型补码数据。要求画 出程序流程框图,编写完整的汇编语言源程序,找出其中的最大数,存

3、入RESULT 单元中,并在关键语句后加适当注释。 答: DSEG SEGMENT STRDATA DB 30 DUP(?) ;定义数据串 RESULT DB DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX, OFFSET STRDATA ;数据串首址BX MOV AL, BX MOV CX, 29 ;数据长度CX L1: INC BX ;地址指针加1 CMP AL, BX ;和当前数比较 JGE L2 ;当前数大 MOV AL, BX ;当前数为最大数 L2:

4、DEC CX ;数据串长度减1 JNZ L1 ;串未完,继续 MOV RESULT, AL ;保存最大数在RESULT MOV AH,4CH INT 21H CSEG ENDS END START 三、设在内存缓冲区中有一数据块BLOCK,存放着50 个字节型数据。要求画出程序流程框图,编写完整的汇编语言源程序,统计出其中偶数的个数,结果存入RESULT 单元中。 程序流程框图 ; 完整程序 ; DATA SEGMENT BLOCK DB 50 DUP(?) RESULT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MO

5、V AX,DATA MOV DS,AX MOV BX, OFFSET BLOCK MOV CX, 50 MOV AH,0 L1: MOV AL, BX TEST AL,01H JNZ L2 INC AH L2: INC BX DEC CX JNZ L1 MOV RESULT, AH MOV AH,4CH INT 21H CODE ENDS END START 四、设在内存缓冲区中有一数据块DATA,存放着20个带符号的字节型数据,对这20个数据进行以下处理:去掉其中的最大值,然后对剩余的19个数求和,并将和送入SUM单元。要求画出程序流程框图,编写完整的汇编语言源程序。注:不考虑求和是否溢出。

6、 DATA SUM DATA SEGMENT 20 DUP(?) DATA DB DB 0 ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX, OFFSET DATA MOV CX, 20 MOV AL, BX MOV AH,0 L1: ADD AH,BX CMP AL,BX JG L2 MOV AL,BX L2: INC BX DEC CX JNZ L1 SUB AH,AL MOV SUM,AH MOV AH,4CH INT 21H CODE ENDS ENDSTART 1分) 1分)

7、1分) 开始 数据块DATA定义 数据块首地址BX 数据块长度CX 初值0送SUM BXAL SUM=SUM+BX ALBX? N BXAL BX+1BX N 20个数判断完了? Y SUM=SUM-AL 结束 Y ,求出成绩不低于90分以及成绩低于60分的学生个数,并将它们分别存于符号地址为GOOD和FAIL的2个内存单元中。要求画出程序流程框图,编写完整的汇编语言源程序。 开始 三、 DATA SEGMENT BUF DB 100 DUP (?) 初始化设置循环次数CX=100 GOOD DB 0 设置地址指针BX FAIL DB 0 设置优秀和不及格的计数器DH,DL DATA ENDS

8、 CODE SEGMENT ASSUME CS:CODE, DS:DATA BUF取数据 START :MOV AX, DATA MOV DS, AX MOV BX, OFFSET BUF YL MOV CX,100 分数=90? DH+1 MOV DX,0 L1 : MOV AL, BX NLCMP AL,90 YLJB L2 分数90分并计数的分支1分,判断90分并计数2分,判断60分并计数1分,循环控制1分,送结果1分。 六、已知数据段中从BUF开始的区域中存放着100个字节型无符号数据,编程将第一个数与第100个数求和,第二个数与第99个数求和,第三个数与第98个数求和依次类推,求得的

9、50个和(不考虑和是否有进位)依次存放于数据段中从SUM开始的区域中。要求画出程序流程框图,并写出完整的汇编语言源程序 三、编程题 开始 DATA SEGMENT BUF DB 100DUP(?); SUM DB 50DUP(?); 初始化 DATA ENDS 设置循环次数CX=50 CODE SEGMENT 设置地址指针DI,SI,BX ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX 根据SI和BX从BUF中取出两个数据 MOV CX,50 MOV DI,OFFSET SUM MOV SI,OFFSET BUF 对取出的两个数据进行加法

10、求和运 MOV BX,SI 算 ADD BX,99 AGAIN: MOV AL,SI 根据DI将加法求和运算的结果送入 ADD AL,BX 到SUM中 MOV DI,AL INC DI INC SI 地址指针DI+1,SI+1, BX-1 DEC BX 循环次数CX-1 LOOP AGAIN MOV AH,4CH INT 21H NLCODE ENDS CX=0? END START YL 结束 评分标准: 流程图3分:其中初始化1分,取数求和1分,循环控制1分。 源程序7分:其中数据段定义1分,分段结构、段分配1分,初始化1分,取数求和1分,结果送到SUM中1分,循环控制1分,返回DOS系统

11、1分。 八、已知数据段中从BUF开始的区域中存放着100个字节型无符号数据,编写完整的汇编语言源程序,找出BUF数组中的最大值和最小值,并将最大值存放到变量MAX中,最小值存放到变量MIN中。要求:采用子程序MAXMIN实现求最大值及最小值的功能。 编程题 DATA SEGMENT BUF DB 100 DUP(?) MAX DB 0 MIN DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS, AX MOV CX,100 LEA BX, BUF MOV DL,0 ; MAX MOV DH,0FFH; MIN CALL MAXMIN MOV MAX,DL MOV MIN,DH MOV AH,4CH INT 21H MAXMIN PROC AGAIN: MOV AL,BX CMP AL,DL JA L1 JMP L2 L1: MOV DL,BX L2: CMP AL,DH JA L3 MOV DH,BX L3: INC BX LOOP AGAIN RET MAXMIN ENDP CODE ENDS END START

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号