微机实验:汇编语言程序的调试与运行步骤

上传人:hs****ma 文档编号:564666611 上传时间:2024-03-01 格式:DOCX 页数:12 大小:672.63KB
返回 下载 相关 举报
微机实验:汇编语言程序的调试与运行步骤_第1页
第1页 / 共12页
微机实验:汇编语言程序的调试与运行步骤_第2页
第2页 / 共12页
微机实验:汇编语言程序的调试与运行步骤_第3页
第3页 / 共12页
微机实验:汇编语言程序的调试与运行步骤_第4页
第4页 / 共12页
微机实验:汇编语言程序的调试与运行步骤_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《微机实验:汇编语言程序的调试与运行步骤》由会员分享,可在线阅读,更多相关《微机实验:汇编语言程序的调试与运行步骤(12页珍藏版)》请在金锄头文库上搜索。

1、软件实验一 汇编语言程序的调试与运行一实验目的1学习数据传送和算术运算指令的用法2. 熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。 二实验内容将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在DATA 1和DATA2为首的5个内存单元中,结果送回DATA 1处。 三程序框图幵妬执石带进&也加祛ADCAAA Hff遐回幵妬J十送制畤拱廉ASCII码ASCU 玛制姑果送捷加療区W傭移量图 1.1 两个多位十进制相加程序流程图四程序清单DISPMACROXMOVDL,X;要显示的字符送DL寄存器MOVAH,02H;DOS 功能调用号是 02HINT21H;2

2、1H中断程序是DOS功能调用ENDMDATA SEGMENTDATA1 DB 12732DATA2 DB 06815N EQU $-DATA2DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?) TOPEQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXLEASI,DATA1MOVBX,0MOVCX,NCALLDISPLDISP+LEASI,DATA

3、2MOVBX,0MOVCX,NCALLDISPLDISP!_!LEADI,DATA1MOVCX,NCALLADDALEASI,DATA1MOVBX,0MOVCX,NCALLDISPLDISP0DHDISP0AHMOVAX,4C00HINT21HDISPLPROCDS1:MOVAH,02HMOVDL,SI+BXINT21HINCBXLOOPDS1;显示被加数;显示加数;调用加法子程序;显示运算结果;显示子程序RETDISPL ENDPADDAPROC;加法子程序PUSHCXMOVBX,0AD1:SUB BYTE PTR SI+BX,30HSUBBYTE PTR DI+BX,30HINCBXLOO

4、PAD1POPCXPUSHCXMOVBX,N-1CLCAD2:MOVAL,SI+BXADCAL,DI+BXAAAMOVDI+BX,ALDECBXLOOPAD2POPCXPUSHCXMOVBX,0;AD3:ADD BYTE PTR DI+BX,30HINCBXLOOPAD3POPCXRET;ADDAENDPCODEENDSENDSTART五.调试步骤1编辑源程序,建立一个以后缀为 ASM 的文件.2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无 错时继续第3 步。3 连接目标程序,产生可执行程序。4. TDEBUG调试可执行程序,记录数据段DS: 0DS: 10的内容。进

5、入TDEBUG程序后。执行程序至星号处DS: 0HDS: 0AH 的内容(CS: 000FH)31 32 37 33 32 30 36 38 31 35 (CS: 0076H)01 02 07 03 02 00 06 08 01 05 (CS: 0086H)01 09 05 04 07 00 06 08 01 05 (CS: 0090H)31 39 35 34 37 00 06 08 01 055在操作系统状态下,运行程序,并记录屏幕显示内容。被加数力口数屏幕显示内容127320681519547107324369154423650871763182718六思考题1.将上述程序改为 5 位数相

6、加,结果为 6 位数的加法程序。(需考虑进位)新的程序清单:DISPMACROXMOVDL,X;要显示的字符送 DL 寄存器MOVAH,02H;DOS 功能调用号是 02HINT21H;21H中断程序是DOS功能调用ENDMDATA SEGMENTDATA1 DB 82732;修改后的 5 位数,相加为 6 位数DATA2 DB 36815N EQU $-DATA2DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?)TOPEQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DA

7、TASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXLEASI,DATA1;MOVBX,0MOVCX,NCALLDISPL;显示被加数DISP+LEASI,DATA2MOVBX,0MOVCX,NCALLDISPL;显示加数DISP!_!LEADI,DATA1MOVCX,NCALLADDA;调用加法子程序LEASI,DATA1MOVBX,0MOVCX,NCALLDISPL;显示运算结果DISP0DHDISP0AHMOVAX,4C00HINT21HDISPLPROC;显示子程序DS1:MOVAH,02HMOVDL,SI+BXI

8、NT21HINCBXLOOPDS1RETDISPLENDPADDAPROC;加法子程序PUSHCXMOVBX,0AD1:SUB BYTE PTR SI+BX,30HSUBBYTE PTR DI+BX,30HINCBXLOOPAD1POPCXPUSHCXMOVBX,N-1CLCAD2:MOVAL,SI+BXADCAL,DI+BXAAAMOVDI+BX,ALDECBXLOOPAD2POPCXPUSHCXMOVBX,0;AD3: ADD BYTE PTR DI+BX,30HINC BXLOOP AD3POP CXRET;ADDA ENDPCODE ENDSEND START2.简单叙述上机步骤,调试

9、方法。上机步骤及调试 编写代码完成功能要求,文件格式为.asm文件(如文件名为a.asm),将文件放入 带汇编工具的文件夹中,即含有汇编工具(MASM.EXE)和链接工具(LINK.EXE)的文件夹。 打开运行窗口,输入“cmd”然后确定。启动命令行,进入上述文件夹输入:tasm a.asm回车后编译产生a.obj文件再输入: link a.obj回车后链接产生 a.exe 文件最后输入: a.exe回车后运行结果如图 1图 1.运行结果如果程序有错误,编译时会产生错误提示,指出错误的位置和错误类型及错误码,改 正错误后再重新编译链接,直到没有错误和编译链接成功。 启动 TD 并载入 add.

10、exe ,在代码段可以看到程序指令,部分符号已被实际地址或 数值替换表示。 查看数据区的数值:右击选择数据区的菜单中的Goto,在其输入框内输入要查看的数据区地址,如cs:000FH,如图 2 和图 3;回车确认后即可查看数据区从段地址为CS、偏移地址为000FH开始的存储情况ME护M闽酗服開糖-1-CPU 60436ck:丽肺=COaidI ,rilOptions hlindowCS:0106*0000cs:0162 cs;0104 cs :01f)6 cs:0108 cs:010H cs;010C cs: 01 fifes :W110 cs:0112 r.s : HI Ucs:0116cs

11、:8118;f si 1. cil 【hx + ki 丨 rll bw*si 丨:ill bwf si 1. cil bw*5 i 1 ; ril bx*si1,al b呂滓i . cill-E - f ii= on *= | tniJKCK dx ;si 1 dibp 5:f)chesin一-0 0 0 0 0 0 0 0 B B- B - B 0 1 00 0 00 3 0S77773 一 0000000044441 0000000055550II) P(JIJF山?iIU门;_8A 058302FB137A05戢誦J!z着01 0101000203FFFF 06 IVss:0O82 4C42 ss;0O8Ob0D000 00 00010c z S paidIHENU- - :*:*:* ! .:- : :- - :- * : -!I*:* - :

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号