文档详情

DSP汇编程序12例.docx

发布:2018-04-25约1.41万字共20页下载文档
文本预览下载声明
案例1判断闰年程序说明:这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。源码:Delphi代码data segment ;定义数据段infon db 0dh,0ah,Please input a year: $ Y db 0dh,0ah,This is a leap year! $ N db 0dh,0ah,This is not a leap year! $ w dw 0 buf db 8 db ? db 8 dup(?) data ends stack segment stack db 200 dup(0) stack ends code segment assume ds:data,ss:stack,cs:codestart:movax,datamovds,ax lea dx,infon ;在屏幕上显示提示信息mov ah,9 int 21h lea dx,buf ;从键盘输入年份字符串mov ah,10 int 21h movcl, [buf+1] lea di,buf+2 call datacate call ifyearsjc a1 lea dx,nmov ah,9 int 21h jmp exit a1: lea dx,ymov ah,9 int 21h exit: mov ah,4ch int 21h datacate proc near; push cx; deccx lea si,buf+2 tt1: inc si loop tt1 ;lea si,cx[di] pop cxmov dh,30h mov bl,10 mov ax,1 l1: push ax sub byte ptr [si],dh mul byte ptr [si] add w,ax pop ax mulbldecsi loop l1 ret datacateendpifyears proc near push bx push cx push dxmovax,wmovcx,axmov dx,0 mov bx,4 div bxcmp dx,0 jnz lab1 movax,cxmov bx,100 div bxcmp dx,0 jnz lab2 movax,cxmov bx,400 div bxcmp dx,0 jz lab2 lab1: clcjmp lab3 lab2: stc lab3: pop dx pop cx pop bx ret ifyearsendpcode ends end start 案例2数字方阵程序说明:该程序实现显示一个数字的方阵,程序中的清屏功能可将上次运行的结果清除,重新显示下次运行结果。本程序在dos中或windows98中运行。Delphi代码data segment buf1 db 1 2 38 9 47 6 5 buf2 db 1 2 3 412 13 14 511 16 15 610 9 8 7 buf3 db 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9 dbuf db 14 dup(?) i1 db 0dh,0ah,this is a fangzhenprogramme db 0dh
显示全部
相似文档