首页 九九乘法表程序

九九乘法表程序

举报
开通vip

九九乘法表程序九九乘法表程序 九九乘法表 一、课程设计目的 本课程设计是继《微机系统及应用》课程之后的一次综合性设计、实验训练。根据微机系统及应用课程教学的重点和主要知识点及工程实际需要,设置汇编语言程序设计、PC机内部接口和8086系统接口电路设计等设计题目。要求学生综合本课程和其它相关课程中学到的80X86系统结构、汇编语言设计、典型接口芯片、电路电子技术等相关知识进行程序设计、硬件接口电路设计和调试,系统地掌握微机原理和接口技术的相关知识,实现知识的融会贯通。要求学生通过1.5周的学习,提高设计汇编语言程序的能力和技...

九九乘法表程序
九九乘法表程序 九九乘法表 一、课程设计目的 本课程设计是继《微机系统及应用》课程之后的一次综合性设计、实验训练。根据微机系统及应用课程教学的重点和主要知识点及工程实际需要,设置汇编语言程序设计、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 00001000b,00000011b,00000100b,00000111b,00000001b DB 00000110b,00001111b,00000000b,00000010b,00000101b ;定义显示颜色 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 LOOP2: MOV DL,AL MOV AH,2H INT 21H ADD DH,30H MOV DL,DH MOV AH,2 ;显示输出 INT 21H MOV DL,20H MOV AH,2 INT 21H CMP BL,BH JL LOOP1 MOV DL,0AH ;键盘输入到缓冲区 MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H MOV BL,CL ADD BH,1 CMP BH,10 JL LOOP1 JMP EXIT LOOP3: MOV AL,20H JMP LOOP2 EXIT: MOV AH,07H ;键盘输入无回显 INT 21H pop ax pop dx pop cx pop bx ;恢复现场 ret mutli endp color proc near ;颜色输出函数 push ax push bx push cx push dx MOV AX,DATAs MOV DS,AX ;========MAIN()=========== MOV BH,01H LOP1: MOV BL,01H LOP2: MOV AL,BH MUL BL CALL DISPLAY ;调用显示子程序 INC BL CMP BL,BH JBE LOP2 CALL CRLF INC BH CMP BH,9 JBE LOP1 MOV DX,OFFSET NUM MOV AH,9 INT 21H MOV AH,1 INT 21H ;=========================== pop dx ;恢复现场 pop cx pop bx pop AX ret color endp ;------------------------ CRLF PROC NEAR PUSH AX PUSH DX MOV AH,2 MOV DL,0AH ; 键盘输入到缓冲区 INT 21H MOV DL,0DH ;键盘复位 INT 21H POP DX POP AX RET CRLF ENDP OUTX PROC NEAR PUSH AX PUSH DX MOV AH,2 INT 21H POP DX POP AX RET OUTX ENDP ;---------------------------- DISPLAY PROC NEAR PUSH DX CMP AL,10 JAE DISP1 MOV DL,' ' ;打印空格 CALL OUTX JMP DISP2 DISP1: MOV DL,10 MOV AH,0 DIV DL MOV DL,AL ADD DL,'0' ;-------------------------------------- cmp bl,bh jne show5 call writecc jmp show1 show5: cmp bl,1 ;小于或等于比较后跳转 ;结果为正就转移 jne show6 call writecc jmp show1 show6: cmp bh,9 jne show call writecc jmp show1 ;----------------------------------------------- show: CALL OUTX show1: MOV AL,AH DISP2: MOV DL,AL ADD DL,'0' ;------------------------------------------------ cmp bl,bh jne show4 call writecc jmp show3 show4: cmp bl,1 jne show7 call writecc jmp show3 show7: cmp bh,9 jne show2 call writecc jmp show3 ;-------------------------------------------------- show2: CALL OUTX show3: MOV DL,' ' CALL OUTX CALL OUTX pop dx RET DISPLAY ENDP WriteCC PROC near push AX push bx push cx push dx push si xor AH,AH ;清零操作 MOV dh,9 MOV AL,dh MOV si,AX MOV AH,9 ; 显示字符串 MOV AL,DL MOV bh,0 MOV bl,col[si] MOV cx,1 INT 10h MOV AH,3 INT 10h MOV AH,2 ;显示输出 inc DL ;自加 INT 10h pop si pop dx pop cx pop bx pop AX ret WriteCC ENDP back proc near mov dl,0Ah mov ah,2 int 21h mov dl,0Dh mov ah,2 int 21h ret back endp MOV AH,4CH INT 21H CODES ENDS END
本文档为【九九乘法表程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_731942
暂无简介~
格式:doc
大小:66KB
软件:Word
页数:11
分类:其他高等教育
上传时间:2017-10-23
浏览量:42