四 川 大 学 计 算 机 学 院、软 件 学 院
实 验 报 告
学号: ______ 姓名: __ 专业:计算机科学与技术__
班级:__6__ 第 15 周
《汇编语言》课内实验报告
20##年6月18日
一、实验题目:
汇编语言程序设计
二、实验目的:
1.了解汇编语言循环程序设计的基本流程;
2.熟悉汇编语言循环基本指令的使用方法;
3.掌握利用汇编语言的循环指令完成循环程序设计方法。
三、实验内容:
1.简单的加法运算程序:
DATAS SEGMENT
FIVE DB 5
DATAS ENDS
STACKS SEGMENT
DB 128 DUP (?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AL,FIVE
ADD AL,3
ADD AL,30H
MOV DL,AL
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
2.循环程序设计示例:
设VARY中有一组8位的符号数,编程统计其中 正数、负数、零的个数,分别存 VM、VN、VK变量中。
分析:设定此数组的元素匀为字节数据,则数组VARY中的数据个数用CNT EQU $-VARY求出,则循环次数为CNT次。在程序中,要将CNT的值送入CX中。将数组VARY中元素挨个与0比较,利用状态标志寄存器中的ZF位求出零的个数,利用SF位求出正、负数的个数。
具体程序设计:
stack segment para 'stack'
dw 20H dup(0)
stack ends
data segment
vary db 23h,78h,56h,0abh,00h,0cdh,59h,14h,98h,0efh,00h,0c0h
cnt equ $-vary
vm db ?
vn db ?
vk db ?
data ends
code segment
assume cs:code,ds:data,ss:stack
start: mov ax,data
mov ds,ax
mov bx,0
mov dl,0
lea si,vary
mov cx,cnt
lop1:cmp byte ptr[si],0
je zero
js lop2
inc bh
jmp next
lop2:inc bl
jmp next
zero:inc dl
next:inc si
loop lop1
mov vm,bh
mov vn,bl
mov vk,dl
mov ah,4ch
int 21h
code ends
end start
四、实验结果:
图1 编译程序
图2 链接程序
图2 编译程序
图3 链接程序
图4 调试程序
图5 调试程序
五、实验体会或遇到问题:
这次好难啊好难啊!!!还有一次课内实验,加油!
↖(^ω^)↗
一实验内容1DEBUG的启动及其基本命令的使用2内存操作数与寻址方式1利用DEBUG程序中的E命令将两个多字节数12345678H…
学生实验报告册20xx20xx学年第1学期实验名称汇编语言程序设计学院信息与电气工程学院班级09级计算机科学与技术2班学号1351…
实验一汇编语言的源程序的输入一实验目的1通过实验了解和熟悉微机系统的配置2学习在DEBUG状态下输入汇编源程序的方法3初步掌握调试…
福建农林大学金山学院课程名称姓名系专业年级学号指导教师职称程序设计类课程实验报告汇编语言庄建军信息与机电工程电子信息工程专业20x…
汇编语言程序设计第一次上机作业1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。寄存器分配:AL:存输入…
汇编语言程序设计实验报告学号:****班级:电气信息类1005姓名:陆**指导老师:***实验一、汇编语言上机的基本过程及环境【实…
实验一1熟悉汇编语言程序调试环境及顺序程序设计一实验目的及要求1学习及掌握汇编语言源程序的书写格式和要求明确程序中各段的功能和相互…
福建农林大学计算机与信息学院本科实验报告规范一二每个实验项目一份实验报告实验报告内容一般包括以下几个内容1实验项目名称2实验目的和…
课程编号B080103020汇编语言程序设计实验报告东北大学软件学院实验1数据传送指令实验目的了解和掌握MOVPUSHPOPXCH…
华北科技学院综合性实验报告课程名称汇编语言实验学期20##至20##学年第1学期学生所在系部年级专业班级学生姓名学号任课教师实验成…