zoukankan      html  css  js  c++  java
  • 汇编语言作业(七)

    班级:  计算机14-1  姓名:  许恺    学号:  2014011329日期: 2016.4.29          

    一、编写程序

    1.从键盘输入一个不超过8的个位数,计算该数的阶乘,并以十进制制式输出。

    要求:

    1)输入数据在主程序中实现;

    2)计算阶乘的功能用子程序实现,子程序的名字为:fac;

    3)以十进制形式输出结果的功能用子程序实现,子程序的名字为:output;

    4)各子程序通过寄存器传递参数;

    5)输出格式要美观,要有适当的提示。

    1)程序清单:

    data segment

     s1 db 'please input an integer between 0 to 8:$'

     s2 db 'its factorial=$'

    data ends

    stack segment stack

     dw 30 dup(?)

    stack ends

    code segment

     assume cs:code,ds:data,ss:stack

     main proc far

    start:

       mov ax,data

       mov ds,ax

       lea dx,s1

       mov ah,09h

       int 21h

       mov ah,01h

       int 21h

       mov dh,al

       mov dl,0dh

       mov ah,02h

       int 21h

       mov dl,0ah

       mov ah,02h

       int 21h

       mov al,dh

       sub al,30h

       mov ah,0

       call fac

       mov bx,ax

       lea dx,s2

       mov ah,09h

       int 21h

       mov ax,bx

       mov dx,0

       call output

       mov ah,4ch

       int 21h

       fac proc near

         mov cl,al

         dec cl

    l1:  mul cx

         loop l1

         ret

       fac endp

       output proc near

         mov cx,0000h

    l3:  mov bx,000ah

         cmp ax,0

         jbe l2

         div bx

         push dx

         mov dx,0000h

         inc cl

         jmp l3

    l2:  pop dx

         add dx,0030h

         mov ah,02h

         int 21h

         loop l2

         ret

       output endp

     main endp

    code ends

    end start

    2)运行结果(截图):

     

    二、编程体会

    其实感觉堆栈段不用编写,因为之前不写也行,开始已经写好了,后来知道要有提示语句,又加输出字符串时就出错了,在压栈的时候出现了死循环,是用dx输出字符串的时候出了问题,最后是重新把dx赋0才解决,这次更加理解了堆栈的使用,以后会用的更加的顺手和频繁。

  • 相关阅读:
    LeetCode 剑指offer 面试题05. 替换空格
    WebSocket整合SSM(Spring,Struts2,Maven)
    Eclipse常用20个快捷键
    JDK、JRE、JVM三者间的联系与区别
    Java集合框架详解(全)
    Java开发环境配置(Jdk、Tomcat、eclipse)
    Java面向对象概述及三大特征(封装,继承和多态)
    程序员之歌
    UML2.0最新版入门图解
    java单元测试,ssh(spring,struts2,hibernate)框架整合junit4
  • 原文地址:https://www.cnblogs.com/xukaiae86/p/6439563.html
Copyright © 2011-2022 走看看