模拟温度软件设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的:

1.熟悉并且掌握汇编语言的基本指令及编程方法。 2. 掌握用汇编语言编写程序的思路和设计方法。 3. 熟练掌握DEBUG调试程序的方法。二、实验内容:

1. 设计课题:模拟温度测量软件设计

2设计要求:(1)将首地址为1000H开始存放的10个单字节数据,进行数字滤波。

实现方法:找出其中最大值和最小值并从中10个数中去掉最大值和最小值,将剩余的的8个数取平均值后,存放在1010H单元中。(Z1)

(2) 将存放在1010H单元中的十六进制数的整数部分转换成非压缩的BCD码,存放在1020H 开始的存储单元中。(Z2)(低位在前)

(3)将存放在1020H开始的非压缩BCD码转换成ASCII码。存放在1030H开始的存储单元中。(低位在前)(Z3)

(4)将存放在1030H开始的ASCII码送CRT显示(高位在前)(Z4)三、写出源程序清单DATA SEGMENT

ORG 1000H

SZ DB 6,4,9,1,8,3,2,7,0,5

MAX DB ? MIN DB ?

ORG 1010H

PJS DB ? YS DB ?

ORG 1020H

BCD DB 3 DUP(?)

ORG 1030H

ASI DB 3 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

MAIN PROC FAR

STA: PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

CALL ZMAX

CALL ZMIN

CALL Z1

CALL Z2

CALL Z3

CALL Z4

RET

MAIN ENDP

ZMAX PROC

LEA SI,SZ

MOV CX,9

MOV AL,[SI]

BIG1:CMP AL,[SI+1]

JAE BIG2 ;小等于则转移

MOV AL,[SI+1]

BIG2:INC SI

DEC CX

JNZ BIG1 ;CX不等于0时转移MOV MAX,AL

RET

ZMAX ENDP

ZMIN PROC

LEA SI,SZ

MOV CX,9

MOV BL,[SI]

LMIN:CMP BL,[SI+1]

JBE NEXT

MOV BL,[SI+1]

NEXT:INC SI

DEC CX

JNZ LMIN

MOV MIN,BL

RET

ZMIN ENDP

Z1 PROC

LEA SI,SZ

MOV CX,10

MOV AX,0

Z11: ADD AL,[SI]

ADC AH,0

INC SI

DEC CX

JNZ Z11

MOV BX,0

ADD BL,[SI]

ADD BL,[SI+1]

SUB AX,BX

MOV BL,8

DIV BL

MOV PJS,AL

MOV YS,AH

RET

Z1 ENDP

Z2 PROC

LEA SI,PJS

相关文档
最新文档