微机原理与汇编语言实验循环程序设计实验.docx
- 文档编号:1364951
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:17
- 大小:134.77KB
微机原理与汇编语言实验循环程序设计实验.docx
《微机原理与汇编语言实验循环程序设计实验.docx》由会员分享,可在线阅读,更多相关《微机原理与汇编语言实验循环程序设计实验.docx(17页珍藏版)》请在冰豆网上搜索。
微机原理与汇编语言实验循环程序设计实验
微机原理与汇编语言
实验报告
姓名
xxx
学号
xxxxxx
专业班级
计科x班
课程名称
微机原理与汇编语言
实验日期
2014.10.22
实验名称
循环程序设计实验
成绩
一、实验目的
1、掌握循环程序的设计方法。
2、掌握比较指令、转移指令和循环指令的使用方法。
3、进一步掌握调试工具的使用方法。
二、实验内容
1、实验原理
(1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题
(2)累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数
2、实验步骤
(1)流程图
(2)实验源码
.modelsmall
.stack;定义堆栈段
.data;定义数据段
inf1db"Pleaseinputanumber(1-627):
$"
inf2db0ah,0dh,"1+2+......+$"
ibufdb7,0,6dup(0)
obufdb6dup(0)
.code
start:
movax,@data
movds,ax
movdx,offsetinf1
;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中
movah,09h
int21h
movdx,offsetibuf
movah,0Ah
int21h
movcl,ibuf+1
movch,0
movsi,offsetibuf+2
movax,0
loop1:
movdx,10
muldx
andbyteptr[si],0Fh
addal,[si]
adcah,0
incsi
looploop1
movcx,ax;计算1+2+3+...+n
movax,0
movbx,1
loop2:
addax,bx
incbx
looploop2
movdi,offsetobuf+6;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf
movbyteptr[di],'$'
movbx,10
loop3:
movdx,0
divbx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzloop3
decdi
mov[di],'='
movdx,offsetinf2;结果输出
movah,09h
int21h
movcl,ibuf+1;显示n
movch,0
movsi,offsetibuf+2
loop4:
movdl,[si]
adddl,30h
incsi
movah,02h
int21h
looploop4
movdx,di
movah,09h
int21h
movax,4c00h
int21h
endstart
实验习题1源码:
;multi-segmentexecutablefiletemplate.
.modelsmall;定义程序的存储模式(small表示小型模式)
.stack;定义堆栈段
.data;定义数据段
inf1db0ah,0dh,"1+2+......+$"
obuf1db6dup(0)
obuf2db7dup(0);除了六位数字外还要有一个=号
.code
start:
movax,@data
movds,ax
movdx,offsetinf1;输出1+2+......+
movah,09h
int21h
movax,0;计算1+2+3+...+n
movbx,1
loop1:
addax,bx
incbx
cmpax,60000
jbeloop1
pushax;将最终结果备份入栈
pushbx;将n备份
popcx
movdi,offsetobuf1+5
;将cx二进制数转换为十进制数并以ascii的形式存于obuf1
movbyteptr[di],'$'
movax,cx
movbx,10
loop2:
movdx,0
divbx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzloop2
movdx,di;输出n
movah,09h
int21h
popax
movdi,offsetobuf2+6
;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf2
movbyteptr[di],'$'
movbx,10
loop3:
movdx,0
divbx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzloop3
decdi
mov[di],'='
movdx,di;=输出结果
movah,09h
int21h
movax,4c00h
int21h
endstart
实验习题2源码:
;multi-segmentexecutablefiletemplate.
.modelsmall;定义程序的存储模式(small表示小型模式)
.stack;定义堆栈段
.data;定义数据段
inf1db'Pleaseinputsixnum:
',0ah,0dh,'$'
inf2db'sum:
$'
obuf0db0ah,0dh,'$'
ibufdb5,0,4dup(0)
obufdb6dup(0)
.code
start:
movax,@data
movds,ax
movdx,offsetinf1;输出提示信息
movah,09h
int21h
movbx,6;设置外层循环次数
loop1:
movdx,offsetibuf
movah,0Ah
int21h
movcl,ibuf+1;设置内层循环次数
movch,0
movsi,offsetibuf+2
movax,0
loop2:
movdx,10;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中
muldx
andbyteptr[si],0Fh
addal,[si]
adcah,0
incsi
looploop2
pushax;将结果入栈保存
movdx,offsetobuf0;回车换行
movah,09h
int21h
decbx
cmpbx,0
jnzloop1
movcx,6
movax,0
loop3:
popbx
addax,bx
looploop3
movdi,offsetobuf+5
;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf
movbyteptr[di],'$'
movbx,10
loop4:
movdx,0
divbx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzloop4
movdx,offsetinf2;输出提示信息
movah,09h
int21h
movdx,di
movah,09h
int21h
movax,4c00h
int21h
endstart
实验习题3源码:
;multi-segmentexecutablefiletemplate.
.modelsmall;定义程序的存储模式(small表示小型模式)
.stack;定义堆栈段
.data;定义数据段
infdb"Pleaseinputanum(0-65535):
$"
inf2db0ah,0dh,"Thenumof1:
$"
ibufdb6,0,5dup(0)
obufdb6dup(0)
.code
start:
movax,@data
movds,ax
moves,ax
movah,09h;输出提示信息Pleaseinputanum:
movdx,offsetinf
int21h
movah,0Ah;接收一个无符号十进制整数(小于65536)
movdx,offsetibuf
int21h
movax,0
movcl,ibuf+1;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中
movch,0
movsi,offsetibuf+2
loop1:
movdx,10
muldx
andbyteptr[si],0Fh
addal,[si]
adcah,0
incsi
looploop1
movbx,0
loop2:
shrax,1
adcbx,0
cmpax,0
jnzloop2
movax,bx
movdi,offsetobuf+5
;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf
movbyteptr[di],'$'
movbx,10
loop3:
movdx,0
divbx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzloop3
movah,09h;输出提示信息Thenumof1:
movdx,offsetinf2
int21h
movah,09h;将统计结果在屏幕上显示出来
movdx,di
int21h
movax,4c00h
int21h
endstart
实验习题4源码:
;multi-segmentexecutablefiletemplate.
.modelsmall;定义程序的存储模式(small表示小型模式)
.stack;定义堆栈段
.data;定义数据段
Nequ5
ibufdb4,0,3dup(0)
inf1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 汇编语言 实验 循环 程序设计