文档详情

九九乘法表程序.doc

发布:2017-02-17约5.73万字共9页下载文档
文本预览下载声明
九九乘法表 一、课程设计目的 本课程设计是继《微机系统及应用》课程之后的一次综合性设计、实验训练。根据微机系统及应用课程教学的重点和主要知识点及工程实际需要,设置汇编语言程序设计、PC机内部接口和8086系统接口电路设计等设计题目。要求学生综合本课程和其它相关课程中学到的80X86系统结构、汇编语言设计、典型接口芯片、电路电子技术等相关知识进行程序设计、硬件接口电路设计和调试,系统地掌握微机原理和接口技术的相关知识,实现知识的融会贯通。要求学生通过1.5周的学习,提高设计汇编语言程序的能力和技巧,培养实现一个简单应用系统功能的硬件软件设计能力。 二、课程设计内容 汇编语言程序设计及调试 用汇编语言编写九九乘法表在屏幕上显示出来,而且能按一定规律显示.1键为横向排列;2键为颜色输出;0键为取消该功能即退出该程序。 源程序代码 DATAS SEGMENT NUM DB 0AH,0DH,0ah,100900319 FAN YUYU,0dh,$ X DB 15 dup(?) Y DB 15 dup(?) table1 db PLEASE INPUT 0-2:$ table2 db ---------------------------1:mutli 2:color 0:exit-----------------------------$ table3 db WARNING:PLEASE INPUT 0-2$ ;此处输入数据段代码 col DB DB ;定义显示颜色 DATAS ENDS STACKS SEGMENT STACK ;此处输入堆栈段代码 DW 100H DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS main proc far ;定义主程序 push ds sub ax,ax ;清零操作 push ax mov ax,DATAS ;数据段赋值给AX mov ds,ax lea dx,table2 ;自定义数据送给DX mov ah,9 ;功能号为9 ,显示 int 21h call back ;调用子程序,实现回显与清除 t: lea dx,table1 mov ah,9 ;功能号为9 ,显示; int 21h mov ah,1 int 21h mov bl,al call back ;调用子程序,实现回显与清除 cmp bl,30h ;‘0’赋给BL jz q cmp bl,31h ;‘1’赋给BL jz n cmp bl,32h ;‘2’赋给BL jz m lea dx,table3 ;显示table3定义内容 mov ah,9 ;功能号为9 ,显示 int 21h call back jmp t ;跳转到t n: call mutli jmp t m: call color jmp t q: MOV DX,OFFSET NUM MOV AH,9 ;显示功能 INT 21H MOV AH,1 ;键盘输入并回显 INT 21H mov ah,4ch ;中断调用 int 21h pop ax ;恢复现场 pop ds ret main endp mutli proc near ;九九乘法输出函数 push bx ;保护现场 push cx push dx SUB AX,BX PUSH AX MOV AX,DATAs MOV DS,AX MOV BL,0 MOV X,BL ;X=0 MOV BH,1 MOV Y,BH ;Y=1 MOV CL,BL LOOP1: ADD BL,1 ;PRINT X MOV DL,BL ADD DL,30H MOV AH,2 INT 21H MOV DL,* ;PRINT * MOV AH,2 INT 21H MOV DL,BH ;PRINT Y ADD DL,30H MOV AH,2 INT 21H MOV DL,= ;PRINT = MOV AH,2 INT 21H MOV AL,BH ;PRINT Z=X*Y IMUL BL MOV AH,00H MOV CH,0AH IDIV CH MOV DH,AH CMP AL,0 JZ LOOP3 ;比较后跳转 ADD AL,30H LO
显示全部
相似文档