微机原理简单程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的

(1).学习汇编语言上机操作过程,汇编程序的汇编、编辑、连接、运行、DEBUG、调试方法。

(2)、加深理解汇编语言程序设计方法

(3)、学习使用DOS调用方法

二、实验内容:

(1)、在内存单元TAB开始的连续10个有符号字节数据中找出最小数据并显示结果

(2)、在内存单元TAB开始的连续10个有符号字节数据中找出最大数据并显示结果

三、实验设备及环境:

1.计算机

2.MASM汇编

四、实验方案:

五、实验步骤:

1.用记事本编写源程序;

2.在“开始”—“运行”里键入“cmd”命令启动ms—dos;

3.在命令行中输入cd\masm5\回车;

4.输入masm 程序名.asm;

5.输入link 程序名;

6.输入程序名回车运行程序;

7. 更改源程序找出最大值

六、源程序: dseg segment

TAB db 2H ,5H,6H,3H,7H,8H,9H,81H,,0C3H,0F4H

COUNT db $-TAB

dseg ends

sseg segmengt stack

SDAT db 50 dup(?)

TOP equ length SDAT

sseg ends

code segment

assume cs:code , ds:dseg, ss:sseg

start: mov ax,dseg

mov ds,ax

mov ax,sseg

mov ss,ax

mov ax,TOP

mov sp,ax

mov cx,COUNT

DEC cx

mov sl, OFFSET TAB

mov al,[sl]

NEXT: INC al

cmp al ,[sl]

JL L1

mov al, [al]

L1 :LOOP NEXT

mov bl,al

mov cl,4

and al,0f0h

shr al,cl

or al,30h

mov dl,al

mov ah,2

int 21h

and bl,0fh

or bl,30h

mov ah,2

int 21h

mov ah,4ch

int 21h

code ends

end start

七、实验调试结果截图:

八、实验总结

通过本次汇编语言上机操作过程,进一步学习了汇编语言中语法结构和控制指令所实现的结果任务,在进行编程时应首先定义一个数据段、然后对程序中的变量、常量进行声明定义,在声明时注意带有字符的量(比如:0C31H 只能把变成0C31H,而不能编成C31H);并且在DOC中①应根据需要的的功

能调用设置入口参数②把功能调用号送入AH寄存器③在程序末尾应该编入中断指令:”INT 21H”④可根据有关功能调用的说明取得出口参数。其次是在堆栈段和代码段的定义之后,进行程序段的编写,编完之后要按照程序操作步鄹进行正确连接,最后通过调试对实验的结果进行验证。最后通过程序的整体性和局部性声明了解到汇编语言源程序的模块化,并且每个模块都有开始和结束成对出现的控制指令,并且在实验前应对实验程序进行整体语法的构思,大致确定程序的语法结构,最后整理程序所用到的控制指令。

相关文档
最新文档