实验一汇编语言程序设计

更新时间:2023-05-18 06:43:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

生 实 验 报

学 院: 软件与通信工程学院课程名称: 汇编语言程序设计 专业班级: 姓 名: 学 号:

学告

学生实验报告(1)

一、实验综述

1、实验目的及要求

a.学习数据传送和算术运算指令的用法

b.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。 2、实验仪器、设备或软件 电脑 3、实验内容

编程实现 SUM=a1b1+ a2b2 …… + a10b10。

二、实验过程(实验步骤、记录、数据、分析) DATA SEGMENT

ORG 1000H;为调试方便将数据存于指定地址处,

a db 89, 5, 56, 80,12,3,77,41,32,67 ; 10个数据 ORG 2000H;便于查看和设置

b db 18, 29, 12, 38,33,71,54,83,4,9; 10个数据 ORG 3000H; SUM dw ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,0 MOV SI,0 MOV CX,10 LOP1: MOV AL, a[SI] MUL b[SI] ADD DX,AX INC SI LOOP LOP1 ;☆ MOV SUM,DX MOV AH,4CH INT 21H CODE ENDS END START

编译没错后进行调制、再进行运行得到结果,结束。 三、调试步骤

1.编辑源程序,建立一个以后缀为 .ASM的文件.

2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.DEBUG调试可执行程序,利用T命令进行操作并记录程序每次执行到☆处,CX、SI、AX及数据段DS:3000H~DS:3001H的内容。

四、结论

1、实验结果

五、思考题

编写程序将定义的一组字符串中的小写字母全部转换成大写字母(其余字符不变)

例如下面BUFFER中定义的一组字符串。 DATA SEGMENT

BUFFER DB 'hello ASM! 20151030' STRLEN EQU $-BUFFER OUTSTR DB STRLEN DUP(?) DATA ENDS

六、程序编写和运行结果 DATAS SEGMENT

SUBFFER DB 'hello,ASM! 20151030','$' ;此处输入数据段代码 DATAS ENDS

STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX LEA BX,SUBFFER A1: MOV AL,[BX] CMP AL,'$' JE DONE CMP AL,'a' JA NEXT SUB AL,20H MOV [BX],AL NEXT: INC BX JMP A1

DONE: MOV AX,4C00H

INT 21H;此处输入代码段代码 CODES ENDS END START 运行结果

七、指导教师评语及成绩:

评语:

该实验步骤正确。程序设计较合理,结果正确。实验报告格式正确,文档规范,描述较清晰。实验总结较全面,实验分析较深刻。通过实验,可以看出该生能理解能所用语言知识,掌握了运用该知识的语法与使用方法,较好地完成了实验任务。达到实验目的。

成绩: 指导教师签名:

批阅日期:

本文来源:https://www.bwwdw.com/article/0ps4.html

Top