东南大学微机实验报告2带流程图Word文档下载推荐.docx
- 文档编号:22615091
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:281.92KB
东南大学微机实验报告2带流程图Word文档下载推荐.docx
《东南大学微机实验报告2带流程图Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《东南大学微机实验报告2带流程图Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
(1)用任意一种文本编辑器(EDIT、NOTEPAD、UltraEDIT等)建立编辑汇编源程序,并将其保存为文件名.asm文件,将其放入带汇编工具的文件夹中(d:
\tasm)。
注:
文件名不要起的过长,在连接时可能会出现can’tfindfile的问题。
(2)开始菜单,点运行条目,打入cmd命令进入DOS调试环境。
(3)进入该文件夹(cdd:
\tasm),键入如下命令开始编辑程序:
d:
\zxj>
edit文件名.asm
(4)将程序保存后返回DOS进行汇编,键入如下命令:
tasm文件名.asm
如果汇编通过,进行下一步,如果出现error,返回3步骤,根据错误的行数进行修改,然后重新汇编,直到不产生error为止。
此时若出现warning可不予理会。
(5)将程序进行连接,键入如下命令:
d:
link文件名.obj
如果连接正确,进行下一步,如果错误返回3步骤进行修改,然后重新编译和连接。
(6)执行程序,键入如下命令:
文件名.exe
如果执行正确,则应该显示正确结果;
如果执行错误,返回步骤3,重新编译连接和执行。
(7)如果不能直接从程序中找出错误,可以应用Debug程序进行调试,键入如下命令:
td文件名.exe
在找出错误后,重新返回3步骤,重新编译连接和执行。
2、实验相关操作界面
(1)TD操作界面
四、实验源程序和流程图:
1、实验1:
流程图:
源代码:
DATASEGMENT
INPUTDB100,100DUP(0)
STRING1DB0DH,0AH,'
PLEASEINPUTYOURSTRING'
0DH,0AH,'
$'
STRING2DB0DH,0AH,'
THESTRINGYOUINPUTIS:
'
STRING3DB0DH,0AH,'
DOYOUWANTTOCONTINUE(Y/N):
STRING4DB0DH,0AH,'
THETOTALNUMBERIS:
DATAENDS
STACKSSEGMENTSTACK
DB256DUP(0)
STACKSENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACKS
MAINPROCFAR
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACKS
MOVSS,AX
LOOP1:
MOVDX,OFFSETSTRING1
MOVAH,09H
INT21H
MOVDX,OFFSETINPUT
MOVAH,0AH
MOVDX,OFFSETSTRING2
MOVAH,09H
CALLDISP
MOVDX,OFFSETSTRING4
ADDBL,30H
MOVDL,BL
MOVAH,02H
MOVDX,OFFSETSTRING3
MOVAH,01H
CMPAL,'
Y'
JZLOOP1
MOVAH,4CH
MAINENDP
DISPPROCNEAR
XORCX,CX
MOVCL,INPUT[1]
MOVBL,INPUT[1]
MOVSI,2
AGAIN:
MOVDL,INPUT[SI]
CMPDL,61H
JBNEXT
CMPDL,7AH
JANEXT
SUBDL,20H
NEXT:
MOVAH,02H
INCSI
LOOPAGAIN
RET
DISPENDP
CODEENDS
ENDSTART
2、实验2:
3、实验3
datasegment
input1db4,5dup(0)
input2db4,5dup(0)
input3db4,5dup(0)
input4db4,5dup(0)
input5db4,5dup(0)
tempdb00h,00h
tempoutdb00h
outputdb00h,00h,00h,00h,00h
string1db0dh,0ah,'
pleaseinputyournumber(00h~ffh):
0dh,0ah,'
string2db0dh,0ah,'
thenumberyouinputis(00h~ffh):
string3db0dh,0ah,'
thenumberafterorderingis(00h~ffh):
string4db0dh,0ah,'
doyouwanttocontinue(y/n):
dataends
stackssegmentstack
db256dup(0)
stacksends
codesegment
assumecs:
code,ds:
data,ss:
stacks
mainprocfar
start:
movax,data
movds,ax
movax,stacks
movss,ax
loopQ:
movdx,offsetstring1
movah,09h
int21h
movdx,offsetinput1
movah,0ah
movdx,offsetstring1
movdx,offsetinput2
int21h
movdx,offsetinput3
movdx,offsetinput4
movdx,offsetinput5
callshowin
moval,input1[2]
movtemp[0],al
moval,input1[3]
movtemp[1],al
callchange
moval,tempout
movoutput[0],al
moval,input2[2]
moval,input2[3]
movoutput[1],al
moval,input3[2]
moval,input3[3]
movoutput[2],al
moval,input4[2]
moval,input4[3]
movoutput[3],al
jmploop2
loop1:
jmploopQ;
77
loop2:
moval,input5[2]
moval,input5[3]
movoutput[4],al
callorder;
85
movdx,offsetstring3
movsi,0
circle:
movah,output[si]
movdl,ah
movcl,4
shrdl,cl
calldisp
anddl,0fh
movdl,48h
movah,02h
movdl,0h
incsi
cmpsi,5
jnzcircle
movdx,offsetstring4
movah,1
cmpal,'
y'
jzloop1
movah,4ch
mainendp
showinprocnear
movsi,2
circle1:
movdl,input1[si]
jnzcircle1
circle2:
movdl,input2[si]
jnzcircle2
circle3:
movdl,input3[si]
jnzcircle3
circle4:
movdl,input4[si]
jnzcircle4
circle5:
movdl,input5[si]
jnzcircle5
ret
showinendp
changeprocnear
xorax,ax
xorbx,bx
xordx,dx
movbl,temp[0]
cmpbl,40h
jbnext1
subbl,37h
jmpnext
next1:
subbl,30h
next:
movtemp[0],bl
movbl,temp[1]
jbnext2
jmpnext3
next2:
next3:
moval,temp[0]
movcl,10h
mulcl
addal,bl
movtempout,al
changeendp
orderprocnear
XORAL,AL
XORBL,BL
movsi,0h
movdi,1h
order1:
moval,output[si]
order2:
cmpal,output[di]
jnlnet
movbl,output[di]
movoutput[si],bl
movoutput[di],al
moval,output[si]
net:
incdi
cmpdi,5
jnzorder2
movdi,si
cmpsi,4
jnzorder1
orderendp
dispprocnear
pushdx
pushax
cmpdl,9
jbenum
adddl,7
num:
adddl,30h
popax
popdx
dispendp
codeends
endstart
五、实验结果
3、实验3:
六、遇到的问题及解决办法
1、在写代码的过程中遇到过很多问题
(1)在编程时忘记了add的两个操作数要同时为十六位符号数或八位符号数这个规则,因此在编译的时候出现了问题
(2)三个程序代码都是自己先写,然后再跟书上或网上的demo进行比较修改,在这个过程中发现熟悉一些指令可以让代码简单很多,譬如说lodsb、stosb、xor等等,在自己写的时候很难想到去用,因此对各种指令有一定的熟悉程度还是很必要的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 微机 实验 报告 流程图
![提示](https://static.bdocx.com/images/bang_tan.gif)