首页 实验报告 实验二 熟悉汇编程序建立及其调试方式

实验报告 实验二 熟悉汇编程序建立及其调试方式

举报
开通vip

实验报告 实验二 熟悉汇编程序建立及其调试方式微机原理实验报告 实验二 熟悉汇编程序建立及其调试方式 姓名:    吕迪  冉晨越  学号:  13024219  13024221 一、 实验目的 1. 熟悉汇编语言源程序的框架结构,学会编制汇编程序。 2. 熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、 实验内容 1、 学习编写汇编语言源程序的方法,了解数据存放格式。 2、 阅读给出的程序,找出程序中的错误。 3、 通过调试给出的汇编语言源程序,了解汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、 实验程序 (一)、源程序 ST...

实验报告 实验二 熟悉汇编程序建立及其调试方式
微机原理实验报告 实验二 熟悉汇编程序建立及其调试方式 姓名:    吕迪  冉晨越  学号:  13024219  13024221 一、 实验目的 1. 熟悉汇编语言源程序的框架结构,学会编制汇编程序。 2. 熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、 实验内容 1、 学习编写汇编语言源程序的方法,了解数据存放格式。 2、 阅读给出的程序,找出程序中的错误。 3、 通过调试给出的汇编语言源程序,了解汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、 实验程序 (一)、源程序 STACKSG: SEGMENT PARA STACK 'STACK'      ;冒号 DB      256 DUP(?) STACKSG ENDS DATASG: SEGMENT PARA 'DATA'              ;冒号 BLOCK  DW    0,-5,8,256,-128,96,100,3,45,6,512 DW    23,56,420,75,0,-1024,-67,39,-2000 COUNT  EQU    20 MAX    DW    ? CODESG: SEGMENT                          ;冒号 ASSUME CS:CODESG,DS:DATASG,SS:STACKSG ORG  100H BEGIN:   MOV DS, DATASG            ;应为 MOV AX,DATASG  MOV DS,AX LEA SI,BLOCK MOV CX,COUNT DEC CX MOV AX,[SI] CHKMAX ADD SI,2                    ;应加冒号 CMP [SI],AX JLE NEXT MOV AX,[SI] DEC CX                        ;删除 NEXT:  LOOP  CHKMAX MOV MAX,AX MOV AH,4CH INT 21H CODESG ENDS END BEGIN (二)、修改后程序 STACKSG  SEGMENT  PARA STACK 'STACK' DB  256  DUP(?) STACKSG  ENDS                              ;定义堆栈段 DATASG  SEGMENT  PARA 'DATA'              ;定义数据段 BLOCK    DW 0,-5,8,256,-128,96,100,3,45,6,512    ;BLOCK有20个字 DW  23,56,420,75,0,-1024,-67,39,-2000 COUNT    EQU  20                          ;COUNT=20 MAX      DW    ?                          ;定义MAX不赋值 DATASG  ENDS CODESG  SEGMENT                            ;定义代码段 ASSUME  SS:STACKSG , CS:CODESG  ;定义STACKG为堆栈段 CODESG为代码段 ASSUME  DS:DATASG            ;定义DATASG为数据段 ORG  100H                    ;偏移量100H BEGIN:    MOV AX, DATASG                ;DATASG传入DS MOV DS, AX LEA  SI ,BLOCK                ;取BLOCK的有效地址给SI MOV  CX,  COUNT                ;COUNT传入CX DEC  CX                        ;CX=CX-1 MOV  AX , [SI]                ;把DS:[SI]内容传入AX CHKMAX :  ADD  SI, 2                  :SI=SI+2 CMP  [SI] , AX                ; 比较DS:[SI]与AX值的大小 JLE  NEXT                      ;当DS:[SI]<=AX时跳转到NEXT MOV AX , [SI]                  ;否则将DS:[SI]装入AX NEXT:    LOOP  CHKMAX                    ;CX=CX-1,CX为零循环CHMAX,否则顺序运行 MOV  MAX ,AX                  ;将AX内容装入MAX MOV  AH, 4CH                  ;结束 INT    21H                    ;退出 CODESG  ENDS END  BEGIN (三)程序功能 比较20个数的大小,找出最大的数字。 (四)流程图 Y N N Y 四、实验步骤 1、建立汇编语言源程序,编译、链接、建立成可执行文件 2、运行DEBUG调试程序,装入别调试程序,用U命令查看调入的程序 3、用R命令查看当前寄存器内容 4、用D命令查看并记录下内存中数据存放格式 5、用T命令但不运行程序,观察各条指令执行结果,以及对寄存器,标志位,内存单元的影响,若找出程序中的错误,用Q命令退出DEBUG环境,修改汇编语言源程序,重复上述步骤,直至整个程序无误。 6、若将LEA SI,BLOCK语句改为LEA SI,BLOCK+2*COUNT-2,    并将ADD SI,2改为SUB SI,2,,重新运行程序观察结果: 7、若重新给出一组数据,可用E命令输入新数据后运行程序,观察并记录运行结果。 8、若要求找出数据区中最小数,程序将如何修改,试上机调试。 将JLE NEXT改为JGE NEXT 内存数据存放格式:
本文档为【实验报告 实验二 熟悉汇编程序建立及其调试方式】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:0
分类:工学
上传时间:2019-08-15
浏览量:20