资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
汇编语言实验报告实验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单元)。程序如下:DATASEGMENTDATDB0A5H,2DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,DATMOVBL,ALMOVCL,4SHLBL,CLMOVDAT+1,BLANDAL,0FHMOVDAT+2,ALMOVAH,4CHINT21HCODEENDSENDSTART上机运行该程序并检查运行结果是否正确。3.实验运行结果:(1)1401:0000 B80014 MOV AX,14001401:0003 8ED8 MOV DS,AX1401:0005 A00000 MOV AL,00001401:0008 8AD8 MOV BL,AL1401:000A B104 MOV CL,041401:000C D2E3 SHL BL,CL1401:000E 881E0100 MOV 0001,BL1401:0012 240F AND AL,0F1401:0014 A20200 MOV 0002,AL1401:0017 B44C MOV AH,4C1401:0019 CD21 INT 211401:001B FE8946F6 DEC BYTE PTR BX+DI+F6461401:001F EB06 JMP 0027段首地址为:1400运行前的结果:-d 1400:0,F1400:0000 A5 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .运行后的结果:-gProgram terminated normally-d 1400:0,f1400:0000 A5 50 05 00 00 00 00 00-00 00 00 00 00 00 00 00 .P.单步运行结果:AX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13F0 ES=13F0 SS=1400 CS=1401 IP=0003 NV UP EI PL NZ NA PO NC1401:0003 8ED8 MOV DS,AX-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0005 NV UP EI PL NZ NA PO NC1401:0005 A00000 MOV AL,0000 DS:0000=A5-tAX=14A5 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0008 NV UP EI PL NZ NA PO NC1401:0008 8AD8 MOV BL,AL-tAX=14A5 BX=00A5 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=000A NV UP EI PL NZ NA PO NC1401:000A B104 MOV CL,04-tAX=14A5 BX=00A5 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=000C NV UP EI PL NZ NA PO NC1401:000C D2E3 SHL BL,CL-AX=14A5 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=000E NV UP EI PL NZ NA PE NC1401:000E 881E0100 MOV 0001,BL DS:0001=50-tAX=14A5 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0012 NV UP EI PL NZ NA PE NC1401:0012 240F AND AL,0F-tAX=1405 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0014 NV UP EI PL NZ NA PE NC1401:0014 A20200 MOV 0002,AL DS:0002=05-tAX=1405 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0017 NV UP EI PL NZ NA PE NC1401:0017 B44C MOV AH,4C-AX=4C05 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 IP=0019 NV UP EI PL NZ NA PE NC1401:0019 CD21 INT 21程序2:DATASEGMENTXDB20H;定义X为字类型并赋值20HYDW?;定义Y为字节类型DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,X;把X的值转移到ALXORAH,AH;清零AHSHLAX,1;将目的操作数向左移动1位MOVBX,AXMOVCL,2;移位大于1,需用CLSHLAX,CL;将目的操作数向左移动2位ADDAX,BX;把AX与BX中的值相加MOVY,AXMOVAH,4CH;返回DOS状态下INT21HCODEENDSENDSTART运行结果:1401:0000 B80014 MOV AX,14001401:0003 8ED8 MOV DS,AX1401:0005 A00000 MOV AL,00001401:0008 32E4 XOR AH,AH1401:000A D1E0 SHL AX,11401:000C 8BD8 MOV BX,AX1401:000E B102 MOV CL,021401:0010 D3E0 SHL AX,CL1401:0012 03C3 ADD AX,BX1401:0014 A30100 MOV 0001,AX1401:0017 B44C MOV AH,4C1401:0019 CD21 INT 211401:001B FE8946F6 DEC BYTE PTR BX+DI+F6461401:001F EB06 JMP 0027-首地址:1400运行前结果:-d 1400:0,f1400:0000 20 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .-t运行后结果:Program terminated normally-d 1400:0,f1400:0000 20 40 01 00 00 00 00 00-00 00 00 00 00 00 00 00 .单步调试:-tAX=-tAX=-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13EB ES=13EB SS=1400 CS=13FC IP=0003 NV UP EI PL NZ NA PO NC13FC:0003 8ED8 MOV DS,AX-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13EB SS=1400 CS=13FC IP=0005 NV UP EI PL NZ NA
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号