合肥工业大学
实验报告
课 程:汇编语言程序设计loui
专业班级:
学 号:
姓 名:
实验一 Debug程序的使用
一.实验目的
1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。
2、掌握8086/8088的寻址方式及多字节数据的处理方法。
二.实验内容
1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。
badmood
2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。
要求:
本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。
三.实验过程和程序
暂时英文基础题:
1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。
2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。
附加题:
1. 从DS:0000H开始的5个16位带符号数分别记为x,y,z,v,w,用E命令初始化为:540,1,-1,1080,0, 试求w=(v-(x*y+z-540))/x
2. 完成BX中1的个数的统计。
3. 用串操作指令将DS:0000开始20个字节初始化为:0CCH。并将这20个字节的内容复制到其后的20个字节里。
四.实验结果(包括必要的截图)
基础题 1:
基础题 2:nickname是什么意思
附加题 1:
附加题 2:
附加题 3:
五.实验体会
1. 在汇编语言中,变量的其实都是地址。
英文版童话2. 在Debug中,数值都是16进制的。
3. 在读写内存中的数据时,必须指出数据类型是byte还是word。
实验二 汇编语言程序设计(顺序、多分支、循环)
一.2021考研英语实验目的
1、掌握顺序和循环程序结构和设计方法;
2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。
二.实验内容
1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是16位带符号数。试编写汇编语言程序完成以下功能:
①计算表达式值(V–(X*Y+Z-720))/X;
②将上述表达式运算结果整数放在SUM1单元,余数放在SUM2单元。
2、使用地址表实现如下功能:根据输入的数字1-7,分别显示相应的英文星期名,如果输入其他字符,则重新输入。
3、求一个班50名学生成绩的平均值、最大值和最小值,并将结果显示出来。
三.实验过程和程序
第一题:
stack gment stack
dw 512 dup(?)
stack ends
data gmentyinjing
X dw 021CH
Y dw 0001H
Z dw 0FFFFH
V dw 0438H
drown SUM1 dw 0H
SUM2 dw 0H
data ends
code gment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov ax, X
imul word ptr Y
mov cx, dx
mov bx, ax
mov ax, Z
cwd
add bx, ax
adc cx, dx
mov ax, 21CH
cwd
sub bx, ax
sbb cx, dx
mov ax, V
cwd
sub ax, bx
sbb dx, cx
idiv word ptr X
mov word ptr SUM1, ax
mov word ptr SUM2, dx
mov ah,4ch
int 21h
code ends
end start
第二题:
stack gment stack
dw 512 dup(?)
考研政治答案stack ends