汇编语言实验报告——累加

时间:2024.4.20

               《汇编语言》实验报告

                                      ——累加器制作               20##级计算机科学与工程学院  学号:        姓名 

一、实验要求:

   1.显示 INPUT N:,提示用户输入数字字串

   2.检测输入字串的合法性,非法给出提示

   3.将输入数字字串转化为数值,存入变量n

   4.累加1~n,存入变量sum

   5.以十进制显示sum

二、流程图:

 


三、源代码:

DATAS SEGMENT

   str1 db "Input N:","$"

   str2 db "sum=","$"

   str3 db 0ah,"error","$"

   n dw 0

   sum dw 0

DATAS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS

START:

    MOV AX,DATAS

    MOV DS,AX

   

    LEA dx,str1;输出提示符

    mov ah,9

    int 21h

 

input:   

    mov ah,01;输入数字                                                                                        

    int 21h

    cmp al,0dh;判断是否为回车

    jz step1

   

    cmp al,"0";判断字符合法性

    jb error

    cmp al,"9"

    ja error

   

sub al,"0";转化为ASCII码

mov ah,0;此段将高位乘10 

    push ax

    mov ax,n

    shl ax,1

    push ax

    mov cl,2

    shl ax,cl

    mov bx,0

    pop bx

    add ax,bx

   

    mov bx,0;高位与低位相加

    pop bx

    add ax,bx

    mov n,ax

     

    xor cx,cx;设定累加次数

    mov cx,n

    jmp input

step1:

    mov ax,cx

   sub cx,1

   

step2:

    add ax,cx;求累加和

    loop step2

    mov sum,ax

   

    lea dx,str2

    mov ah,9

    int 21h

    mov cx,0

    mov ax,sum

step3:

mov dx,0

mov bx,10;将结果除以10并把余数压进栈

div bx

    push dx

    inc cx

    cmp ax,0h

    jnz step3

step4:

    xor ax,ax  

    pop ax    ;栈内依次输出

    mov dx,ax

    add dx,30h

    mov ah,2

    int 21h

    loop step4

    jmp last

   

error:

    lea dx,str3;输出错误提示语

    mov ah,9

    int 21h

last:

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

四、  实验测试截图

五、实验心得:

本次试验的目的在于通过编辑累加器程序来熟悉汇编语言中对循环结构的使用,其中包括循环输入字符并判断合法性、累加计算、循环输出计算结果。其中的关键点在于通过堆栈来保护和存放数据,并在多次存放后依次提出数据,要求我们能够灵活地利用堆栈与寄存器之间的转换进行较为复杂的逻辑运算。

经过逐步编写和多次修改完善,终于成功地完成了本次实验。在实验过程中,我的逻辑思维能力得到加强,对分步编写和局部细化了解得更加透彻,同时对循环结构、数据输入和输出过程更加熟练,课堂上学习的知识得到了练习,掌握地更加牢固,收益匪浅。


第二篇:汇编语言上机实验报告4


学号  080304235  

沈阳建筑大学城市建设学院

汇编语言程序设计上机实验报告

2010~2011 2 学期

专业班级:  计算机08-2

姓    名:    董宇亮     

上机时间:               

指导教师:     杜利明    

                      年      月      日

1.实验目的

1.掌握分支程序设计方法。

2.掌握利用转移指令jl、jmp实现多岔分支的方法。

2.实验要求

掌握汇编程序的条件结构程序设计方法

3.实验指令内容

统计学生成绩score。设有10个学生的成绩分别为56、69、84、82、73、88、99、63、100和80分。试编制程序分别统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数,并分别存放到s5、s6、s7、s8、s9及s10单元中

4.实验步骤

1.编辑程序。

2.输入,汇编并连接此程序。

3.在DEBUG下运行此程序,记录运行结果。

5.程序(指令)清单

data segment

score dw 68,72,81,78,44,96,37,75,100,89

        s5 dw 0

        s6 dw 0

        s7 dw 0

        s8 dw 0

        s9 dw 0

        s10 dw 0

data ends

code segment

 main proc far

assume ds:data,cs:code

start:

                                                                               

     push ds

     sub ax,ax

     push ax

     mov ax,data

     mov ds,ax

     mov si,offset score

     mov cx, 10

next:

mov bx,[si]                                              

      mov ax,60

      cmp bx,ax                                          

      jb ss5                                           

      mov ax,70

      cmp bx,ax

      jb ss6

      mov ax,80

      cmp bx,ax

      jb ss7

      mov ax,90

      cmp bx,ax

      jb ss8

      mov ax,100

      cmp bx,ax

      jb ss9

      inc s10

      jmp loop1

  ss5:inc s5                                                

     jmp loop1

  ss6:inc s6

     jmp loop1

  ss7:inc s7

     jmp loop1

  ss8:inc s8                                                                

 jmp loop1

  ss9:inc s9

 loop1:add si,2                                              

       loop next                                             

 exit:ret

main endp

                                                                             

 code ends

                                                                                    

      end start

          

6. 程序运行结果

7.实验心得

更多相关推荐:
汇编语言实验报告

实验一汇编语言的源程序的输入一实验目的1通过实验了解和熟悉微机系统的配置2学习在DEBUG状态下输入汇编源程序的方法3初步掌握调试在DEBUG状态下的过程二实验原理1本实验在DEBUG状态下输入汇编源程序并且用...

汇编语言程序设计实验报告

学生实验报告册20xx20xx学年第1学期实验名称汇编语言程序设计学院信息与电气工程学院班级09级计算机科学与技术2班学号13514031姓名于志佳指导教师徐静实验一DEBUG的使用实验目的1熟悉在计算机上建立...

汇编语言实验报告

汇编语言实验报告姓名专业软件工程班级093班学号099074235STARTMOVAXDATASMOVDSAXmovbxoffsetblockmovcx256againmovbxbyteptr0字节填充0inc...

汇编语言实验报告

HarbinInstituteofTechnologyatWeihai汇编语言实验报告实验一第一部分dubug用法一问题描述上机前预习debug常用命令的用法复习汇编语言基本指令上机时进行debug命令练习二问...

汇编语言实验报告5份整合版

福建农林大学金山学院课程名称姓名系专业年级学号指导教师职称程序设计类课程实验报告汇编语言庄建军信息与机电工程电子信息工程专业20xx级092230069刘永芬助教20xx20xx学年第二学期实验项目列表福建农林...

汇编语言实验报告一

实验1实验学时2实验地点二综实验日期20xx1020一实验目的掌握汇编编程规范熟悉编程环境二实验内容1编程向内存0200023F依次传送数据0633FH2编程编写code段代码用push指令将a段中的word数...

汇编语言实验报告qxf

汇编语言程序设计实验报告学号班级指导老师姓名实验时间学院目录实验一认识Tddebug集成环境实验日志3实验二IO程序设计实验日志4实验三代码转换程序设计实验日志7实验四分支程序设计实验报告11附录源代码14实验...

汇编语言实验报告

汇编语言语言实验报告学院计算机学院班级网111班学号姓名黄飞指导教师实验1汇编语言运行环境及方法简单程序设计源代码PROGRAMTITLEGOESHEREComparestringdatareasegmentd...

合工大汇编语言实验报告

合肥工业大学计算机与信息学院实验报告课程汇编语言程序设计专业班级学号姓名实验一Debug程序的使用一实验目的1熟悉DEBUG程序中的命令学会在DEBUG下调试运行汇编语言源程序2掌握80868088的寻址方式及...

汇编语言实验报告

汇编语言实验报告廖成D0120xx015康峻豪D0120xx011一实验题目第5题二实验目的用汇编语言实现从键盘上输出两个数可以输入负数先判断是否为有符号数再计算计算他们乘积并以十六进制数的形式输出三实验思路从...

汇编语言实验报告

汇编语言实验报告学院计算机学院姓名王强学号129074061班级计122指导老师纪平实验一汇编运行环境及方法简单程序设计1程序说明本程序用来比较两个字符串string1和string2所含的字符是否相同若相同则...

汇编语言实验报告

华北科技学院综合性实验报告课程名称汇编语言实验学期20XX至20XX学年第2学期学生所在院部计算机学院计算机工程系年级二年级专业班级计科B12-学生姓名学号任课教师实验成绩计算机学院制《汇编语言》课程综合性实验…

汇编语言实验报告(30篇)