东华微机实验aaa(7)
CODE ENDS END START
2) 实验步骤:
(1)建立源程序文件。
(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同的加数和被加数,观察结果。
2、十进制加法和算式显示程序(自行设计) 1)程序设计要求
在以上十进制数加法要求的基础上,将加法算式及和在显示器上显示。
如ADDOP1中存放1234H,在ADDOP2中存放6789H,执行程序后显示器上显示: 1234+6789=8023 2) 实验步骤:
(1)建立源程序文件。 DSEG SEGMENT ADDOP1 DD 1234 JIAHAO DB '+','$' DENGHAO DB '=','$' ten dw 10 SUM DD ? DSEG ENDS
ESEG SEGMENT ADDOP2 DD 6789 ESEG ENDS
STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS
31
CODE SEGMENT ASSUME DS:DSEG,CS:CODE,ES:ESEG START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX MOV AX,WORD PTR ADDOP1 ADD AX,WORD PTR ADDOP2 MOV WORD PTR SUM,AX MOV AX,WORD PTR ADDOP1+2 ADC AX,WORD PTR ADDOP2+2 MOV WORD PTR SUM+2,AX MOV BX,WORD PTR ADDOP1+2 CALL DISPLAY MOV BX,WORD PTR ADDOP1 CALL DISPLAY MOV AH,09H MOV DX,OFFSET JIAHAO INT 21H MOV BX,WORD PTR ADDOP2+2 CALL DISPLAY MOV BX,WORD PTR ADDOP2 CALL DISPLAY MOV AH,09H MOV DX,OFFSET DENGHAO INT 21H MOV BX,WORD PTR SUM+2 CALL DISPLAY MOV BX,WORD PTR SUM CALL DISPLAY MOV AH,4CH INT 21H
DISPLAY PROC NEAR MOV CX,10000D ;DIVIDE BY 10000 CALL DEC_DIV MOV CX,1000D ;DIVIDE BY 1000 CALL DEC_DIV MOV CX,100D ;DIVIDE BY 100
32
CALL DEC_DIV MOV CX,10D ;DIVIDE BY 10 CALL DEC_DIV MOV CX,1D ;DIVIDE BY 1 CALL DEC_DIV RET ;RETURN FROM BINIDEC
DEC_DIV PROC NEAR ; ;--------从 位取出数字显示 MOV AX,BX ;NUMBER LOW HALF MOV DX,0 ;ZERO OUT HIGH HALF DIV CX ;DIVIDE BY CX MOV BX,DX ;REMAINDER INTO BX MOV DL,AL ;QUOTIENT INTO DL ;PRINT THE CONTENTS OF DL ON SCREEN ADD DL,30H ;CONVERT TO ASCII MOV AH,2H ; DISPLAY FUNCTION INT 21H ;CALL DOS RET ;RETURN FROM DEC_DIV DEC_DIV ENDP
;;------------------------------------------------------------------ DISPLAY ENDP
CODE ENDS END START
(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同的加数和被加数,观察结果。
3、键盘输入加数和被加数进行十进制数加法,显示结果程序(自行设计) 1)程序设计要求
33
采用DOS的键盘功能调用和显示功能调用,将键盘输入的4位十进制被加数和4位加数相加,和存入有关内存单元,并将算式及和显示在显示器上。 要求采用子程序的设计方法设计程序,例如设计一个从键盘读入输入数据的子程序和将数据显示的子程序。
DSEG SEGMENT ADDOP DW 2 DUP(?) ADDOP1 DD ? JIAHAO DB '+','$' DENGHAO DB '=','$' TEN DW 10 SUM DD ?
GO DB 'PLEASE INPUT TWO NUMBER: $' GOO DB 'THE SUM IS: $'
TISHI DB 'THE NUMBER YOU INPUT IS NOT RIGHT,MUST <10000,PLEASE INPUT AGAIN! $'
DSEG ENDS
ESEG SEGMENT ADDOP2 DD ? ESEG ENDS
STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK ENDS
CODE SEGMENT ASSUME DS:DSEG,CS:CODE,ES:ESEG START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX TS: MOV SI,0 MOV CX,2 ; 循环5次 LEA DX, GO ; PRINT GO MOV AH, 09 INT 21H AGAIN: PUSH CX CALL INPUT CMP AX,10000 JL RIGHT POP CX CALL CRLF MOV DX,OFFSET TISHI
34
MOV AH,09H INT 21H CALL CRLF JMP TS
RIGHT: MOV ADDOP[SI],AX ;ADD SUM,AX INC SI INC SI POP CX LOOP AGAIN CALL CRLF LEA DX, GOO ; PRINT GOO MOV AH, 09 INT 21H MOV SI,0 MOV BX,ADDOP[SI] MOV WORD PTR ADDOP1,BX MOV WORD PTR ADDOP1+2,0 INC SI INC SI MOV BX,ADDOP[SI] MOV WORD PTR ADDOP2,BX MOV WORD PTR ADDOP2+2,0 PUSH AX MOV AX,WORD PTR ADDOP1 ADD AX,WORD PTR ADDOP2 MOV WORD PTR SUM,AX MOV AX,WORD PTR ADDOP1+2 ADC AX,WORD PTR ADDOP2+2 MOV WORD PTR SUM+2,AX POP AX ;显示算式 MOV BX,WORD PTR ADDOP1+2 CALL DISPLAY MOV BX,WORD PTR ADDOP1 CALL DISPLAY MOV AH,09H MOV DX,OFFSET JIAHAO INT 21H MOV BX,WORD PTR ADDOP2+2
35
…… 此处隐藏:1134字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




