好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

6页
  • 卖家[上传人]:天****步
  • 文档编号:290551293
  • 上传时间:2022-05-10
  • 文档格式:DOCX
  • 文档大小:17.12KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 本文格式为Word版,下载可任意编辑汇编语言程序设计实验报告 《汇编语言程序设计》 实 验 报 告 院 系 专 业 年 级 学 号 姓 名 目次 测验1 Masm6.11的使用方法 ............................................ 错误!未定义书签 测验2 对比两个字符串的大小 ............................................................................ 9 测验3 求学生名次 .............................................................................................. 16 测验4 求员工年工作量 ...................................................................................... 29 测验5 子程序和主程序之间的参数传递 .......................................................... 37 测验6 C语言和汇编语言混合编程下的排序算法 ......................................... .42 测验7 采用汇编语言对C语言函数调用的方法求平均数 .............. 46 I 测验一 Masm6.11的使用方法 一、测验目的 1、创造一个新的汇编语言程序,纯熟掌管汇编语言开发工具的使用方法,并对开发环境中一些坏境变量举行设置。

      2、创造一个工程文件,对该工程文件举行编译,连接,并运行; 3、对建立的工程文件举行调试,在运行过程中查看各个寄放器的值,内存单元的值等 二、测验环境 该试验包括的硬件和软件条件如下: 1、硬件环境 (1)Intel i5 3317U (2)内存4G 2、软件环境 (1)Window XP Professor (2)MASM6.11开发软件 三、测验步骤 1、将Masm6.11安装程序拷贝到D盘根目次下,并执行d:\\Masm611目次下Setup.exe文件,按照安装提示将程序安装到C盘根目次 2、将C:\\masm611\\Bin目次下的全体文件拷贝到C:\\Masm611\\binr目次下,将C:\\Masm611\\help目次下的全体文件拷贝到c:\\Masm61\\binr目次下 3、执行C:\\Masm611\\Binr目次下的pwb.exe文件,开启开发环境 4、在PWB编辑窗口中输入测验1.1中的程序,并保存为test.asm文件 5、执行Project菜单下New Project子菜单创造一个新的工程文件,并命名为test.mak,将test.asm文件参与到该工程文件中。

      6、执行Project下Build子菜单编译连接该工程文件,并运行该可执行程序,查看程序执行的结果 7、执行Run菜单下Debug子菜单,进入调试环境 8、在程序的如下位置设置断点,并按要求查看寄放器堆栈或者内存单元的值 Data segment Msgl db \ 第 1 页 Num db 0 EnMsg db 0ah,0dh,'$' Msg2 db \ Msg3 db \ avg db 0 ascavg db 0,0,'$' Data ends Stack segment para stack db 20h dup(0) Stack ends code segment Assume Cs:code,Ss:stack,ds:Data Start: mov ax,data mov ds,ax lea dx,Msgl ;此行设置断点,查看DS所指示的数据段的处境 mov ah, 09h int 21h Call Numproc ;此行设置断点,查看屏幕输出,并查看堆栈的变化 mov num,bl ;此行设置断点,查看bl的值,并查看堆栈的变化 lea dx,EnMsg mov ah,09h int 21h lea dx,Msg2 mov ah,09h int 21h call Avgproc ;此行设置断点,查看屏幕输出信息 lea dx,EnMsg ;此行设置断点,查看avg所对应的存储单元的值 mov ah,09h int 21h lea dx, Msg3 mov ah,09h int 21h call bta ;此行设置断点,查看屏幕输出信息 mov ah,4ch ;此行设置断点,查看ascavg所对应的存储单元的值及屏 ;幕输出信息 int 21h Numproc proc push ax push cx push dx 第 2 页 lea dx,EnMsg mov ah,09h int 21h mov bl,0 lop1: mov ah,01h int 21h ;设置断点查看al寄放器的值 cmp al,0dh jz lop2 cmp al,'0' jl lop1 cmp al, '9' ja lop1 sub al,30h mov cl,al mov al,bl mov ch,10 mul ch mov bl,al ; add bl,cl ; jmp lop1 lop2: pop dx pop cx pop ax ret Numproc endp Avgproc proc push ax push cx xor dx,dx ; mov cl,num ;lop3: call Numproc xor ax,ax mov al,bl add ax,dx Div num add avg,al ; xor dx,dx mov dl,ah sub cl,1 jnz lop3 pop ax ; pop cx ret ;设置断点查看al寄放器的值 设置断点查看bl寄放器的值 设置断点查看堆栈值的变化 设置断点查看cl寄放器的值 设置断点查看avg存储单元的值 设置断点查看avg存储单元的值 设置断点查看堆栈值的变化 第 3 页 — 6 —。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.