汇编语言分支结构程序设计实验.docx
- 文档编号:2429574
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:11
- 大小:17.33KB
汇编语言分支结构程序设计实验.docx
《汇编语言分支结构程序设计实验.docx》由会员分享,可在线阅读,更多相关《汇编语言分支结构程序设计实验.docx(11页珍藏版)》请在冰豆网上搜索。
汇编语言分支结构程序设计实验
汇编语言实验报告
实验6汇编语言
分支结构程序设计
学院:
计算机学院
班级:
计Y112班
姓名:
梁建辉
学号:
201100403067
2012年12月1日
1.实验目的:
(1)掌握汇编语言顺序结构设计方法
(2)熟悉常用汇编指令的用法
(3)学会用debug输入、运行小程序,并检查运行情况的方法
(4)学会在pc机上建立、汇编、连接、调试和运行80x86汇编语言程序的过程
2.实验内容:
(1)调试程序1:
将存储单元DAT+1中的两个压缩的bcd码拆成2个非压缩的不承担码(高位bcd码放在DAT+1单元,地位bcd码放在DAT+2单元)。
程序如下:
DATASEGMENT
DATDB0A5H,2DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,DAT
MOVBL,AL
MOVCL,4
SHLBL,CL
MOVDAT+1,BL
ANDAL,0FH
MOVDAT+2,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
上机运行该程序并检查运行结果是否正确。
3.实验运行结果:
(1)
1401:
0000B80014MOVAX,1400
1401:
00038ED8MOVDS,AX
1401:
0005A00000MOVAL,[0000]
1401:
00088AD8MOVBL,AL
1401:
000AB104MOVCL,04
1401:
000CD2E3SHLBL,CL
1401:
000E881E0100MOV[0001],BL
1401:
0012240FANDAL,0F
1401:
0014A20200MOV[0002],AL
1401:
0017B44CMOVAH,4C
1401:
0019CD21INT21
1401:
001BFE8946F6DECBYTEPTR[BX+DI+F646]
1401:
001FEB06JMP0027
段首地址为:
1400
运行前的结果:
-d1400:
0,F
1400:
0000A500000000000000-0000000000000000................
运行后的结果:
-g
Programterminatednormally
-d1400:
0,f
1400:
0000A550050000000000-0000000000000000.P..............
单步运行结果:
AX=1400BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=13F0ES=13F0SS=1400CS=1401IP=0003NVUPEIPLNZNAPONC
1401:
00038ED8MOVDS,AX
-t
AX=1400BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0005NVUPEIPLNZNAPONC
1401:
0005A00000MOVAL,[0000]DS:
0000=A5
-t
AX=14A5BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0008NVUPEIPLNZNAPONC
1401:
00088AD8MOVBL,AL
-t
AX=14A5BX=00A5CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=000ANVUPEIPLNZNAPONC
1401:
000AB104MOVCL,04
-t
AX=14A5BX=00A5CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=000CNVUPEIPLNZNAPONC
1401:
000CD2E3SHLBL,CL
-
AX=14A5BX=0050CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=000ENVUPEIPLNZNAPENC
1401:
000E881E0100MOV[0001],BLDS:
0001=50
-t
AX=14A5BX=0050CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0012NVUPEIPLNZNAPENC
1401:
0012240FANDAL,0F
-t
AX=1405BX=0050CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0014NVUPEIPLNZNAPENC
1401:
0014A20200MOV[0002],ALDS:
0002=05
-t
AX=1405BX=0050CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0017NVUPEIPLNZNAPENC
1401:
0017B44CMOVAH,4C
-
AX=4C05BX=0050CX=0004DX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13F0SS=1400CS=1401IP=0019NVUPEIPLNZNAPENC
1401:
0019CD21INT21
程序2:
DATASEGMENT
XDB20H;定义X为字类型并赋值20H
YDW?
;定义Y为字节类型
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,X;把X的值转移到AL
XORAH,AH;清零AH
SHLAX,1;将目的操作数向左移动1位
MOVBX,AX
MOVCL,2;移位大于1,需用CL
SHLAX,CL;将目的操作数向左移动2位
ADDAX,BX;把AX与BX中的值相加
MOVY,AX
MOVAH,4CH;返回DOS状态下
INT21H
CODEENDS
ENDSTART
运行结果:
1401:
0000B80014MOVAX,1400
1401:
00038ED8MOVDS,AX
1401:
0005A00000MOVAL,[0000]
1401:
000832E4XORAH,AH
1401:
000AD1E0SHLAX,1
1401:
000C8BD8MOVBX,AX
1401:
000EB102MOVCL,02
1401:
0010D3E0SHLAX,CL
1401:
001203C3ADDAX,BX
1401:
0014A30100MOV[0001],AX
1401:
0017B44CMOVAH,4C
1401:
0019CD21INT21
1401:
001BFE8946F6DECBYTEPTR[BX+DI+F646]
1401:
001FEB06JMP0027
-
首地址:
1400
运行前结果:
-d1400:
0,f
1400:
00002000000000000000-0000000000000000...............
-t
运行后结果:
Programterminatednormally
-d1400:
0,f
1400:
00002040010000000000-0000000000000000@..............
单步调试:
-t
AX=-t
AX=-t
AX=1400BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=13EBES=13EBSS=1400CS=13FCIP=0003NVUPEIPLNZNAPONC
13FC:
00038ED8MOVDS,AX
-t
AX=1400BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13EBSS=1400CS=13FCIP=0005NVUPEIPLNZNAPONC
13FC:
0005A00000MOVAL,[0000]DS:
0000=20
-t
AX=1320BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13EBSS=1400CS=13FCIP=0008NVUPEIPLNZNAPONC
13FC:
000832E4XORAH,AH
-t
AX=0020BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13EBSS=1400CS=13FCIP=000ANVUPEIPLZRNAPENC
13FC:
000AD1E0SHLAX,1
-g
BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=13EBES=13EBSS=1400CS=13FCIP=0003NVUPEIPLNZNAPONC
13FC:
00038ED8MOVDS,AX
-t
AX=1400BX=0000CX=002BDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1400ES=13EBSS=1400CS=13FCIP=0005NVUPEIPLNZNAPONC
13FC:
0005A00000MOVAL,[0000]DS:
0000=20
-t
AX=1320BX=0000CX=002BDX=0000SP=0000BP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 分支 结构 程序设计 实验