2023年汇编语言实验报告新编.pdf
《2023年汇编语言实验报告新编.pdf》由会员分享,可在线阅读,更多相关《2023年汇编语言实验报告新编.pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、合 肥 工 业 大 学计 算 机 与 信 息 学 院实 验 报 告课 程:汇编语言程序设计专业班级:信息安全114学 号:202 3 29 1 4姓 名:王佳淼实验一 D ebug程序的使用实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运营汇编语言源程序。2、掌握808 6/8088的寻址方式及多字节数据的解决方法。二.实验内容1、运用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006 BE 5 C4H”分别送入起始地址为DS:020 0 H和 DS:0204H两个单元中。2,分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元
2、和DS:0 20 4 H 单元中的数据相加,并将运算结果存放在DS:0208H单元中。规定:本次实验的内容均在DEBUG下完毕,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运营和结果检查。三.实验过程和程序1、启动DOS操作系统2,运 营 D EBUG CO M 程 序(若当前盘为C)C:DEBUG/为 DEBUG提醒符,仅当屏幕出现该提醒符后,才可输入DEBUG命令)3、用“A”命令编辑和汇编源程序-A /1 8 6E:0 100 MOV AX,0 200/186E:0 103 MOV BX,020 2 /186E:0107 ADD A X,0204/1 86E:0
3、1 0 B ADC BX,0 206/186E:0 10F MOV 02 0 8,A X/1 8 6E:011 2 MOV 02 0 A,B X Z1 8 6E:0 1 16/4、用“U”命令反汇编验证源程序-U CS:O1OOZ186E:0 1 00 Al 0 002 MOV AX,0 2 00186E:0 103 8B1E020 2 MOV BX,0202 186E:01 0 7 030 6 0402 ADD AX,02 0 4 1 8 6E:0 1 0 B 131E0602 ADC BX,0 20 6 J1 8 6E:010F A30 8 0 2 MOV 0 2 08,AX18 6E:0
4、1 1 2 8 9 1 E0A0 2 MOV 0 2 0 A,BX186E:0116注意:检查源程序是否有错误,若有则返回到第3 步用“A 地址”命令进行修改,直到程序无错误。D E B U G 约定在其命令或源程序中所涉及到的数据均被看作十六进制数,其后 不 用“H”说明。在 DEBUG下,源程序中不能使用“标号”、“变量”和一些伪指令。在 DEBUG下,大小写不敏感。5、程序未执行前,用“R”命令观测,相关寄存器的内容。-R/如:(A X)=0 OOP,(BX)=0000,(S I)=0000(DD=0 0 00,(CS)=1376,(IP)=0100。6、在程序未执行前,用“D”命令观测
5、DS:0200H,DS:O2 0 4H、D S:0 2 08H单元的内容-D 2 00 2 OB/7、用“G”命令运营源程序-G=100 0 116/8、再 用“D”命令观测口5:02 0 0小口$:()2()811字节单元中的内容-D 200 20B/9、用“T”单步操作命令对源程序单步执行,观测AX、BX、CS、IP 寄存器内容的变化,并与预计的结果相比较。注意:D 命令显示内存数据,注意观测多字节数据在内存中的存放方式。指令执行的时候,1 P 寄存器随着变化,注意观测。c C:Iin)O S syste 32cB d.exe-DEBUGIC :DOCU ME1 ADMINI1 DEBU
6、G卜E 200 78 56 34 12kE 204 98 BA DC FE1367:0100 M O U AX,0200136?:0103 M O U BX,02021367:0107 ADD AX,02041367:010B ADC B X/0 2 0 6 i3 6 7:010F M O U 0208 LAX1367:0112 M O U 020ALBX1367:0116Pu CS:01001367:0100 A10002M O UAX,02001367:01038B1E0202M O UBX,02021367:010703060402ADDAX,0204136?:010B131E0602A
7、DCBX,0206136?:010FA30802M O U0208 LAX136?:0112891E0A02M O U020ALBX1367:01160000ADDBX+SI LAL1367:01180000ADDBX+SI LAL1367:011A0000ADDBX+SI,AL1367:011C3400XORAL,001367:011E56PUSHSI1367:011FI1300ADCAX,BX+SIC:IN D O Ssyste32cB d.exe-DEBUG4-uX-CSCDC30M_u-Mu00000000CSC90000000000000000IS-M-M-M-M-SiCDS3。00
8、0COCD00000000000nuS3S3S30S300 0000 0000 0000 0000-0000-0000-0000-009Rv999C9CSCDCDCDCDCDCDCD0rri000S300000000200000001000000024dd才彳dd#E130000000F*460000000350000000D0000000000000000OS0C59CDSDSD000000000ISCDC9CSCDCDS3S3CSCSCS9C9CDC9S3C9C9C900000000S3S30CSCSS9QuFE-0000 0000-0000-0000-0000-0000-0000 00S
9、3CSS3S3C5JD0000000A0S3SDGDSDS3S3B00000008000000090C9000000000000000000000CDS3CDCSC9C9000000000CPnoi*oQwCSS3ISCSCSCSSDSD00000000000000八 C:IN D 01SsysteB 32cd.exe-debug-R AXAX 0000136?:010B1367:010F1367:01121367:0116-U CS:010(ADC B X/0206JM O U 0208 LAXM O U 020A,BX11367:0100A10002M O UAX,02001367:010
10、38B1E0202M O UBX,02021367:010703060402ADDAX,02041367:010B131E0602ADCBX,0206136?:010FA30802M O U0 2 0 8,AX1367:0112891E0A02M O U020AEBX1367:01160000ADDBX+SI,AL1367:01180000ADDBX+SI,AL1367:011A0000ADDBX+SI,AL1367:011C3400XORAL,001367:011E56PUSHSI1367:011F1300ADCAX,BX+SI-RAX=0000 BX=0000 CX=0000 DX=000
11、0 SP=FFEE BP=0000 S I=0000 DI=0000DS=1367 ES=1367 SS=1367 CS=1367 IP=0100 NU UP EI PL NZ NA PO NC1367:0100 A10002 M O U AX,0200 DS:0200=0000c C:I!iD O Ssyst e32cBd.exe-DEBUG-U CS:01001367:0100 A10002M O UAX,02001367:0103 8B1E0202M O UB X/020211367:0107 03060402ADDAX,0204136?:010B 131E0602ADCB X/0206
12、11367:010F A30802M O U0 2 0 8,AX1367:0112 891E0A02M O U020ALBX1367:0116 0000ADDBX,SI LAL1367:0118 0000ADDBX+SI,AL1367:011A 0000ADDBX+SI,AL1367:011C 3400XORAL,001367:011E 56PUSHSI1367:011F 1300ADCAX,BX+SI-G=0100 0116AX=1110DS=1367BX=1111ES=13671367:0116 0000-D 200 20B1367:0200 78 56-RAX=1110 BX=1111D
13、S=1367 ES=13671367:0116 0000CX=0000 DX=0000 SP=FFEESS=1367 CS=1367 IP=0116ADD34 12 98BX+SIJ,ALBA DC FE-10 11 11CX=0000SS=1367 ADDDX=0000 SP=FFEECS=136?IP=0116 BXSI LALC:IN D O Ssyste32cB d.exe-DEBUG1367:011C 3400XORAL,001367:011E 56PUSHSI1367:011F 1300ADCAX/BX+SI-G=0100 0116AX=1110DS=1367BX=1111ES=1
14、3671367:0116 0000-D 200 20B1367:0200 78 56CX=0000 DX=0000 SP=FFEESS=1367 CS=1367 IP=0116ADD34 12 98BX+SI,ALBA DC FE-10 11 11BP=0000 S I=0000 DI=0000NU UP EI PL NZ AC PE CVDS:1111=0011xU4BP=0000 S I=0000 DI=0000NU UP EI PL NZ AC PE CVDS:1111=00BP=0000 S I=0000 DI=0000NU UP EI PL NZ AC PE CVDS:1111=00
15、11xU4-RAX=1110DS=13671367:0116-D 2081367:02001367:0210136?:02201367:02301367:02401367:02501367:02601367:02701367:0280ES=136?0000CX=0000:SS=136?ADDDX=0000 SP=FFEECS=1367 IP=0116 CBX+SI,ALBP=0000 S I=0000NU UP EI PL NZ II DI=0000AC PE CVDS:1111=00CD05CSCSCSCSSDCSS3000000000000000CS0CSCQ000000000000000
16、00000000000000000S3S3SD00000000000000001000-0000-0000-0000-0000-0000 0000 0000C9S3CSCSCD00000000C90C59CDSDS30RvGDSSSS000ISCD0no0S3S3S3000000000000000100000001000000010000000100000001000000010000000运用寄存器的方法:cq C:H N D O Ssyst eB32cd.exe-DEBUG-RAX=0052 BX=1111DS=1367 ES=13671367:051C 0000CX=0000 DX=FE
17、DC SP=FFECSS=1367 CS=1367 IP=051C-D 200 20B136?:0200-A1367:0131 I1367:0134 I1367:0137 I1367:013A I1367:013C I136?:013F I1367:0141 I1367:0144 I1367:0146 IADDCBX+SI LALBP=0000 S I=0000 DI=0000NU UP EI PL NZ NA PE CVDS:1111=3978M O UM O UM O UM O UM O UADDADCM O UM O U34 12 98BA DC FE-10 11 1111xU41367
18、:01461367:0149HG=0131M O US I,200D I,204BX,208A X,SIDX,SI+2AX,DIDX,DI+2BX,AXBX+2,DX人 ErrorCBX+2,DX0146AX=1110DS=13670.367:0146 895702BX=1110 CX=0000ES=1367 SS=1367M O UDX=1111 SP=FFECCS=136?IP=0146BX+02,DXBP=0000 S I=0200 DI=0204NU UP EI PL NZ AC PE CVDS:1112=00FFgc32cBd.exe-DEBUG80DF00000300F00022C
19、BFB5D001CF80C222DF2010000F1022200223F0F17F40B0001F10C22FBF80000FCF100223F1000000F000220AFE000008F400220DFD000000F000220F1FF000040FF0000y00000000484*F?0000031F600220104-1D04-01FF-FF13-FF00-0000-0020-0020-000300FFFF00000000CB028000000000001367:00301367:00401367:00501367:00601367:0070-A1367:01001367:01
20、031367:01071367:01091367:010D1367:01101367:01131367:01161367:0118136?:011A136?:011D136?:01201367:01221367:01241367:01281367:01281367:012A7000060022CDC9S3000228000010022000000002240B0010C222010010222B5D0080C22000000020004000021C0000A Xm00060000000013-FF00-0000-0020-0020-000000000220000000022000000002
21、200000000000F0000F00009F0000F0000F0000gI C:INDOSsyste32cBd.exe-DEBUG1367:01001367:01031367:01071367:0109136?:010D1367:01101367:01131367:01161367:01181367:011A1367:011D1367:01201367:01221367:01241367:0128I1367:0128i3 6 7:012AI a-t aa000000020004000021C000000060000C XBX0000012AAX=0001 BX=021C CX=00FF
22、DX=011D SP=FFEE BP=0000 S I=0000 DI=0000DS=1367 ES=1367 SS=1367 CS=1367 IP=012A NU UP EI PL ZR NA PE NC1367:012A D202 ROL BVTE PTR LBP+SI,CL SS:0000=1C五.实验体会能使用d ebug在do s界面下编译代码。能纯熟使用各种d e b ug命令,例如-u、_g、-d、-i 等命令。纯熟掌握808 6/8088的寻址方式及多字节数据的解决方法实验二汇编语言程序设计(顺序、循环)一.实验目的1、掌握顺序和循环程序结构和设计方法;2、熟悉在PC机上建立、
23、汇编、连接、调试和运营80 8 6/8088汇编语言程序的过程。二.实验内容1、X、Y、Z、V均为字变量,在X、Y、Z、V字单元中存放是1 6位带符号数。试编写汇编语言程序完毕以下功能:计算表达式值(V-(X*Y+Z-7 2 0)/X;将上述表达式运算结果整数放在S U M1单元,余数放在S U M2单元。2、求一个班5 0名学生成绩的平均值(附加题:最大值和最小值,并将结果显示出来)3、从键盘读入一个字符串,以E n t e r结束,字符串不超过5 0个字符,并打印该字符串(附加题:查找中间是否有 a s m 子串。假如有,输 出 Y es;否则,输出 N o )o三.实验过程和程序1、计算
24、表达式并存入内存S t ac k s e gmen tdw 5 12 d up(?)S tack en d sDa t a s egmentox d w 1 0 0y dw 10 0z d w 100v dw 1 00s u m l d w?sum2 dw?D a t a endsCo d e segmen ta s sume cs:c o de,ds:d a ta,ss:s tackst a r t:m o v a x,datamov ds,axm o v ax,x;在代码段填入指令序列m ov bx,yimul b xa dd ax,zadc d x,0su b ax,7 2 0s bb
25、dx,0mov cx,dxmo v bx,axm o v ax,vcwdosub a x,bxsbb dx,c x0mo vbx,xidiv bx0mov sum l,axmov s u m2,dxmo v ah,4chint21hCode en d soen d start2、求出平均值、最大值、最小值Stack s egmentdw512 dup(?)S ta c k e n d sDa t as e g mentstu db 2 5du p(35,37)si db the max is:$s 2 d b t he m i n i s:$s3 d b the avg i s:$7disp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 汇编语言 实验 报告 新编
限制150内