汇编语言实验报告.docx
- 文档编号:25520356
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:58
- 大小:229.02KB
汇编语言实验报告.docx
《汇编语言实验报告.docx》由会员分享,可在线阅读,更多相关《汇编语言实验报告.docx(58页珍藏版)》请在冰豆网上搜索。
汇编语言实验报告
实验报告
计
算
机
组
成
原
理
汇
编
语
言
专业:
计算机科学与技术
班级:
学号:
姓名:
实验报告
课程名称:
计算机组成原理
姓名
学号
组员
实验名称
程序一:
一维数组的积
实验内容:
(实验原理、实验步骤、数据处理、误差分析、程序算法、系统结构等)
一、分析思路:
利用循环体,并设置循环控制变量
二、实验步骤:
(1)确定算法,画出流程图
(2)利用文本编辑程序,建立源文件
(3)利用汇编程序MASM对源程序汇编,形成目标文件
(4)利用汇编程序LINK对目标文件进行连接,形成可执行文件
(5)运行可执行文件。
如果有错误,利用DEBUG软件进行调试
三、程序流程图:
四、参考程序清单:
Datasegment;数据段
Dadb1,2,3,4,5;定义变量是8位
resultDW?
;定义变量是16位
DataEnds
codesegment;代码段
assumeds:
data,cs:
code;伪指令:
ds是数据段,cs是代码段
begin:
0movax,data;data的值给ax
movds,ax;ax的值给ds
xorax,ax;ax清零
incax;ax自加1
movcx,5;5给cx,并且循环次数是5
movsi,offsetDa;si中放Da的偏移量
loop1:
;循环体
mulbyteptr[si];[si]与al相乘
incsi;si自加1
looploop1;开始循环
movresult,ax;把ax的值给result
movax,4c00h;4c00h赋给ax
int21h;显示结果
codeends;代码段结束
endbegin;整个程序结束
五、调试过程:
通用寄存器(AX:
累加器BX:
基址寄存器CX计数器DX:
数据寄存器)专用寄存器(SP:
堆栈指针寄存器BP:
基数指针~SI源变址~DI:
目的变址~IP:
指令~)段寄存器(DS:
数据段ES扩展数据段SS:
堆栈段CS:
代码段)
-t
AX=1439BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1429ES=1429SS=1439CS=143AIP=0003NVUPEIPLNZNAPONC
143A:
00038ED8MOVDS,AX
-t
AX=1439BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0005NVUPEIPLNZNAPONC
143A:
000533C0XORAX,AX(清零)
-t
AX=0000BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0007NVUPEIPLZRNAPENC
143A:
000740INCAX
-t
AX=0001BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0008NVUPEIPLNZNAPONC
143A:
0008B90500MOVCX,0005(设置循环次数)
-t
AX=0001BX=0000CX=0005DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000BNVUPEIPLNZNAPONC
143A:
000BBE0000MOVSI,0000(MOVSI,OFFSETDA←SI中放入DA的偏移量)
-t
AX=0001BX=0000CX=0005DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLNZNAPONC
143A:
000EF624MULBYTEPTR[SI](乘法指令)DS:
0000=01
-t
AX=0001BX=0000CX=0005DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0010NVUPEIPLNZNAPONC
143A:
001046INCSI
-t
AX=0001BX=0000CX=0005DX=0000SP=0000BP=0000SI=0001DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLNZNAPONC
143A:
0011E2FBLOOP000E(开始第1次循环)
-t
AX=0001BX=0000CX=0004DX=0000SP=0000BP=0000SI=0001DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLNZNAPONC
143A:
000EF624MULBYTEPTR[SI](第2次乘)DS:
0001=02
-t
AX=0002BX=0000CX=0004DX=0000SP=0000BP=0000SI=0001DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0010NVUPEIPLNZNAPONC
143A:
001046INCSI
-t
AX=0002BX=0000CX=0004DX=0000SP=0000BP=0000SI=0002DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLNZNAPONC
143A:
0011E2FBLOOP000E(开始第2次循环)
-t
AX=0002BX=0000CX=0003DX=0000SP=0000BP=0000SI=0002DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLNZNAPONC
143A:
000EF624MULBYTEPTR[SI](第3次乘)DS:
0002=03
-t
AX=0006BX=0000CX=0003DX=0000SP=0000BP=0000SI=0002DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0010NVUPEIPLNZNAPENC
143A:
001046INCSI
-t
AX=0006BX=0000CX=0003DX=0000SP=0000BP=0000SI=0003DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLNZNAPENC
143A:
0011E2FBLOOP000E(开始第3次循环)
-t
AX=0006BX=0000CX=0002DX=0000SP=0000BP=0000SI=0003DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLNZNAPENC
143A:
000EF624MULBYTEPTR[SI](第4次乘)DS:
0003=04
-t
AX=0018BX=0000CX=0002DX=0000SP=0000BP=0000SI=0003DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0010NVUPEIPLNZNAPENC
143A:
001046INCSI
-t
AX=0018BX=0000CX=0002DX=0000SP=0000BP=0000SI=0004DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLNZNAPONC
143A:
0011E2FBLOOP000E(开始第4次循环)
-t
AX=0018BX=0000CX=0001DX=0000SP=0000BP=0000SI=0004DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLNZNAPONC
143A:
000EF624MULBYTEPTR[SI](第5次乘)DS:
0004=05
-t
AX=0078BX=0000CX=0001DX=0000SP=0000BP=0000SI=0004DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0010NVUPEIPLNZNAPENC
143A:
001046INCSI
-t
AX=0078BX=0000CX=0001DX=0000SP=0000BP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLNZNAPENC
143A:
0011E2FBLOOP000E若CX的值为0则结束循环
AX=0078BX=0000CX=0000DX=0000SP=0000BP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0013NVUPEIPLNZNAPENC
143A:
0013A30500MOV[0005],AXDS:
0005=0000
-t
AX=0078BX=0000CX=0000DX=0000SP=0000BP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0016NVUPEIPLNZNAPENC
143A:
0016B8004CMOVAX,4C00
-t
AX=4C00BX=0000CX=0000DX=0000SP=0000BP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0019NVUPEIPLNZNAPENC
143A:
0019CD21INT21
-t
AX=4C00BX=0000CX=0000DX=0000SP=FFFABP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=00A7IP=107CNVUPDIPLNZNAPENC
00A7:
107C90NOP
六、运行结果:
-t
AX=0078BX=0000CX=0000DX=0000SP=0000BP=0000SI=0005DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0016NVUPEIPLNZNAPENC
143A:
0016B8004CMOVAX,4C00
1到5连乘积为120即16进制78
总
结
第一次调试汇编语言,一连串的代码真的不知什么意思。
也不知要求的结果在哪,一遍遍的看调试步骤,总算有头绪了。
实验报告
课程名称:
计算机组成原理
姓名
学号
组员
实验名称
程序2:
把10进制数转换成16进制数且高低位互换
实验内容:
(实验原理、实验步骤、数据处理、误差分析、程序算法、系统结构[DS接受的数为16进制数]等)
一、分析思路:
16进制数的ASCII码高低四位互换:
分别屏蔽底四位与高四位,AL右移四位得高四位→AL,AH和0FH作与运算得低四位→AX
二、实验步骤:
(1)确定算法,画出流程图
(2)利用文本编辑程序,建立源文件
(3)利用汇编程序MASM对源程序汇编,形成目标文件
(4)利用汇编程序LINK对目标文件进行连接,形成可执行文件
(5)运行可执行文件。
如果有错误,利用DEBUG软件进行调试
三、程序流程图:
四、参考程序清单:
Datasegment;数据段
Dadb76,240,37,45,55;定义8位的变量Da
resultdb10dup(0);定义8位的变量result
DataEnds
codesegment;代码段
assumeds:
data,cs:
code;伪指令:
数据段ds,代码段cs
begin:
movax,data;data的值给ax
movds,ax;ax的值给ds
xorax,ax;ax清零
movbl,30h;变量bl的值是30h
movbh,55;变量bh的值是55
movcx,5;把5给cx,cx为计数器
movsi,offsetDa;si中放Da的偏移量
movdi,offsetresult;di中放result的偏移量
loop1:
;循环体
moval,[si];[si]中的值给al
movah,al;al的值给ah
shral,1;al右移1位
shral,1;
shral,1;
shral,1;
cmpal,10;比较al与10
jbb1;al<10,运行b1
addal,bh;al>10,al+bh把al转换成A~F的大写字母
jmpa;跳转运行a
b1:
addal,bl;al+bl把al转换成0~9的数字
a:
mov[di],al;把转换结果放入[di]中
incdi;di自加1
andah,0fh;与运算,使ah的高四位为0
cmpah,10;比较ah与10
jbb2;ah<10,进行b2操作
addah,bh;ah+bh使ah转换成A~F的大写字母
jmpe;跳转运行e
b2:
addah,bl
e:
mov[di],ah;ah的值放入[di]
incdi;di自加1
incsi;si自加1
looploop1;进行循环操作
movax,4c00h;4c00h赋值给ax
int21h
codeends;代码段结束
endbegin;整个程序结束
五、调试过程:
通用寄存器(AX:
累加器BX:
基址寄存器CX计数器DX:
数据寄存器)专用寄存器(SP:
堆栈指针寄存器BP:
基数指针~SI源变址~DI:
目的变址~IP:
指令~)段寄存器(DS:
数据段ES扩展数据段SS:
堆栈段CS:
代码段)
-t
AX=1439BX=0000CX=0058DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1429ES=1429SS=1439CS=143AIP=0003NVUPEIPLNZNAPONC
143A:
00038ED8MOVDS,AX
-t
AX=1439BX=0000CX=0058DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0005NVUPEIPLNZNAPONC
143A:
000533C0XORAX,AX
-t
AX=0000BX=0000CX=0058DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0007NVUPEIPLZRNAPENC
143A:
0007B330MOVBL,30
-t
AX=0000BX=0030CX=0058DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0009NVUPEIPLZRNAPENC
143A:
0009B737MOVBH,37
-t
AX=0000BX=3730CX=0058DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000BNVUPEIPLZRNAPENC
143A:
000BB90500MOVCX,0005
-t
AX=0000BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=000ENVUPEIPLZRNAPENC
143A:
000EBE0000MOVSI,0000
-t
AX=0000BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1439ES=1429SS=1439CS=143AIP=0011NVUPEIPLZRNAPENC
143A:
0011BF0500MOVDI,0005
-t
AX=0000BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0014NVUPEIPLZRNAPENC
143A:
00148A04MOVAL,[SI]DS:
0000=4C
-t
AX=004CBX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0016NVUPEIPLZRNAPENC
143A:
00168AE0MOVAH,AL
-t
AX=4C4CBX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0018NVUPEIPLZRNAPENC
143A:
0018D0E8SHRAL,1
-t
AX=4C26BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=001ANVUPEIPLNZNAPONC
143A:
001AD0E8SHRAL,1
-t
AX=4C13BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=001CNVUPEIPLNZNAPONC
143A:
001CD0E8SHRAL,1
-t
AX=4C09BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=001ENVUPEIPLNZNAPECY
143A:
001ED0E8SHRAL,1
-t
AX=4C04BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0020NVUPEIPLNZNAPOCY
143A:
00203C0ACMPAL,0A
-t
AX=4C04BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0022NVUPEINGNZACPECY
143A:
00227205JB0029
-t
AX=4C04BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=0029NVUPEINGNZACPECY
143A:
002902C3ADDAL,BL
-t
AX=4C34BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=002BNVUPEIPLNZNAPONC
143A:
002B8805MOV[DI],ALDS:
0005=00
-t
AX=4C34BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0005
DS=1439ES=1429SS=1439CS=143AIP=002DNVUPEIPLNZNAPONC
143A:
002D47INCDI
-t
AX=4C34BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0006
DS=1439ES=1429SS=1439CS=143AIP=002ENVUPEIPLNZNAPENC
143A:
002E80E40FANDAH,0F
-t
AX=0C34BX=3730CX=0005DX=0000SP=0000BP=0000SI=0000DI=0006
DS=1439ES=1429SS=1439CS=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)