一、实验目的。
通过本节课的实验,让学生理解和掌握循环程序运行和设计原理,理解构成循环程序的指令功能,特别是对转移指令、循环计数的深入理解,并掌握一些常用循环程序设计的算法。
二、实验内容。
实验内容一]:bios显示中断调用——int 10h
调用步骤:第一步:置入口参数。
第二步:功能号(0至15)送ah
第三步:int 10h
1)2号功能,屏幕光标定位。
格式:mov bh,0 ;页号0送bh
mov dh,行号 ;行号:0~25
mov dl, 列号 ;列号:0~79
mov ah,2
int 10h
功能:屏幕光标定位在dh行,dl列。行26x列80
2)9号功能,在当前光标位置写字符和字符属性。
格式:mov bh , 0
mov bl, 字符属性码;
mov al,‘字符’
mov ah,9
mov cx,n
int 10h
功能:在屏幕光标位置显示n个al中的‘字符’,并显示字符的属性。
字符属性码(送bl)的含义如下:
说明:d7:1 前景字符闪烁; 0 前景字符不闪烁。
d6 d4 d5(rgb) :
背景颜色,排列含义如下。
000 黑色 ;001 蓝色; 010 绿色; 011 青色。
100 红色 ; 101 品红 ; 110 棕色 ; 111 白色。
d4 d3 d2 d1(irgb):前景颜色,排列含义如下。
注:10号功能除不写字符属性外,其它与9 号功能一样。
实验实例1:在宏汇编masm5.0下,编辑运行下列程序,阅读程序实验运行显示效果。
d:\masm5>edit
data segment
b db 0f0h ;背景色。
q db 00h ;前景色。
n db 8 ;显示行数。
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov b,0f0h
mov n,8
aa1:mov bl,b
add bl,q
mov ah,9
mov bh,0
mov al,'*
mov cx,10
int 10h
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
inc qsub b,10h
dec njnz aa1
mov ah,4ch
int 21h
code ends
end start
实验内容二]:循环程序设计。
1、[实验内容] 利用宏汇编masm5.0编程计算下列各题,并显示结果(注:显示十进制数结果,利用实验3中定义的宏指令)
1) 计算5!
2) 计算s=1!+2!+3!+4!+5!
3) 计算s=1×2+2×3+……10×11
4) 计算s=1+3+5+…+99
5) 计算s=12+22+32+…+102
2、[实验要求] 程序主要**部分如下,同学们根据汇编语言的格式改成上机实验程序。
1)第1题主要**部分。
mov cx,5
mov ax,1
mov bx,1
lp1:mul bx
add bx,1
loop lp1
2)第2题主要**部分。
mov cx,5
mov ax,1
mov bx,1
lp1:mul bx
add s,ax ;定义数据段中字变量s,存放阶乘的和。
inc bx
loop lp1
3)第3题主要**部分。
mov cx,10
mov s,0 ;定义数据段中字变量s,存放和。
mov ax,1
mov bx,2
aa1:mul bx
add s,ax
mov ax,bx
inc bx
loop aa1
4)第4题主要**部分。
mov cx,50
mov s,0
mov ax,1
aa1:add s,ax
add ax,2
loop aa1
5) 第5题主要**部分。
mov cx , 10
mov ax , 1
mov bx, 1
aa1: mul bx
add s, ax
inc bx
mov ax, bx
loop aa1
实验内容三]:利用串操作指令中的传送指令,编程从字串变量a处存放的一串字符‘abc$’传送到字串变量b处,并显示b处该字符串。
程序清单如下:
data segment
a db 'abc$'
b db 4 dup('$
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov es,ax
cldlea si,a
lea di,b
mov cx,4
rep movsb
lea dx,b
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
微机原理实验
学生实验报告。学院 软件与通信工程学院 课程名称 微机原理与接 术 专业班级 电信141班。姓名。学号。学生实验报告 1 一 实验综述。1 实验目的及要求。1 实验目的 1 加深对锁存器和缓冲器的基本原理的了解 2 掌握i o口编程的基本方法 3 掌握基本i o口的扩展方法及编程方法。2 实验要求。...
微机原理实验答案
1 题目 编程将 ax 2387 bx 192fh cx 9256中的无符号数按由大到小排序,上机编程调试出程序,并将程序及排序结果记录在下面。code segment assume cs code start mov ax,2387 mov bx,192fh mov cx,9256 cmp ax,...
微机原理实验讲义答案
微机原理与接 术部分实验讲义答案。1 从键盘输入两个一位十进制数,计算这两个数之和,并将其结果在屏幕上显示出来。答 datasegment infor1 db please input the first data 10 infor2dboah,0dh,pleaseinputtheseconddat...