1、一、实验目的(1).学习汇编语言上机操作过程,汇编程序的汇编、编辑、连接、运行、DEBUG、调试方法。(2)、加深理解汇编语言程序设计方法(3)、学习使用 DOS 调用方法二、实验内容:(1) 、在内存单元 TAB 开始的连续 10 个有符号字节数据中找出最小数据并显示结果(2) 、在内存单元 TAB 开始的连续 10 个有符号字节数据中找出最大数据并显示结果三、实验设备及环境:1.计算机2.MASM 汇编四、实验方案:五、实验步骤:1.用记事本编写源程序;2.在“开始”“运行”里键入“cmd”命令启动 msdos;3.在命令行中输入 cdmasm5回车;4.输入 masm 程序名.asm;5
2、.输入 link 程序名;6.输入 程序名 回车 运行程序;7. 更改源程序找出最大值六、源程序: dseg segment TAB db 2H ,5H,6H,3H,7H,8H,9H,81H,0C3H,0F4HCOUNT db $-TABdseg endssseg segmengt stackSDAT db 50 dup(?)TOP equ length SDATsseg endscode segment assume cs:code , ds:dseg, ss:ssegstart: mov ax,dsegmov ds,axmov ax,ssegmov ss,axmov ax,TOPmov s
3、p,axmov cx,COUNTDEC cxmov sl, OFFSET TABmov al,slNEXT: INC alcmp al ,slJL L1mov al, alL1 :LOOP NEXTmov bl,almov cl,4and al,0f0hshr al,clor al,30hmov dl,almov ah,2int 21hand bl,0fhor bl,30hmov ah,2int 21hmov ah,4chint 21hcode endsend start 七、实验调试结果截图:八、 实验总结通过本次汇编语言上机操作过程,进一步学习了汇编语言中语法结构和控制指令所实现的结果任务
4、,在进行编程时应首先定义一个数据段、然后对程序中的变量、常量进行声明定义,在声明时注意带有字符的量(比如:0C31H 只能把变成 0C31H,而不能编成 C31H) ;并且在 DOC 中应根据需要的的功能调用设置入口参数把功能调用号送入 AH 寄存器在程序末尾应该编入中断指令:”INT 21H”可根据有关功能调用的说明取得出口参数。其次是在堆栈段和代码段的定义之后,进行程序段的编写,编完之后要按照程序操作步鄹进行正确连接,最后通过调试对实验的结果进行验证。最后通过程序的整体性和局部性声明了解到汇编语言源程序的模块化,并且每个模块都有开始和结束成对出现的控制指令,并且在实验前应对实验程序进行整体语法的构思,大致确定程序的语法结构,最后整理程序所用到的控制指令。