微机原理实验四串操作指令

上传人:s9****2 文档编号:487576908 上传时间:2022-08-02 格式:DOCX 页数:11 大小:277.42KB
返回 下载 相关 举报
微机原理实验四串操作指令_第1页
第1页 / 共11页
微机原理实验四串操作指令_第2页
第2页 / 共11页
微机原理实验四串操作指令_第3页
第3页 / 共11页
微机原理实验四串操作指令_第4页
第4页 / 共11页
微机原理实验四串操作指令_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《微机原理实验四串操作指令》由会员分享,可在线阅读,更多相关《微机原理实验四串操作指令(11页珍藏版)》请在金锄头文库上搜索。

1、实验四串操作指令程序实验一、实验目的1. 熟悉五种串操作指令的功能,会编写常用的串操作应用程序。2. 会使用DEBUG命令查看串操作运行的结果。二、实验环境1. 硬件:PC微机2. 软件: Masm for Windows 汇编集成开发环境三、实验讲义 串指连续存放在存储器中的一些数据字节、字或者双字。串操作允许对程序 连续存放的数据块进行操作。这是唯一一种可以从存储器到存储器的指令。源串一般存放在数据段,偏移地址由SI指定;目标串必须在附加段,偏移 地址由DI指定。在每次进行串操作后,SI和DI两个指针会自动修改。修改的 是增量方向还是减量方向由标志位DF决定,DF=0为增量操作,DF=1为

2、减量操 作。CX中存放的是数据块的长度,可在CX前加重复前缀标志,对串进行连续操作。 执行串指令之前,一般先进行如下操作:源串首地址(末地址)f SI目的串首地址(末地址)f DI 串长度f CX 建立方向标志 DF1. 重复前缀标志 助记符判断条件说明REP CX 0 CX=CX-1,若CX0 则重复REPE 或REPZ CX 0 且ZF=1 CX=CX-1,若CX 0 且ZF=1 则重复REPNE 或REPNZ CX=0 且ZF=0 EX=CX-1,若CX 0 且ZF=0 则重复2. 方向标志指令方向标志由标志位DF决定,有CLD和STD两种指令。CLD将DF置0,地址为增量操作。STD

3、将 DF 置 1,地址为减量操作。3. 串传送指令格式: REP MOVS DESTS, SRCSREP MOVSB/ MOVSW / MOVSD功能:将DS:SI中的源串数据传送到ES:DI规定的目的串单元中。加重复 前缀REP可实现连续存放的数据块的传送。例1:将源串中前三个字节的数据传送到目的串。源串在数据段(DATAS)中, 存放在SRC单元中;目的串在附加数据段(EDATAS)中,存放在DEST单元中。TU7.UIO.-J XUBlSEISIMIENT SRC IB0汕H叫 Ml川昨此处输人数摇段牝码03 DrtlfilS 匚血W EOATAS SEGHEtlT06 &EST DB

4、KHB囲丽删B 0州;此处输入堆栈段代码 EPATA5 ENDSW STACKS SESriEHT1fl11 STACKS EW$1213 ID (IDES SEEilMI EN1THAassure C5:EfWES3OS:DATfiS,SS:staoks15 STfiRT:16 nou 删.mt临17 ttiw18 muAX.EH T ftS ;此处输人代码段代码19 HDUES,用雄2S1LEHSI ?SRC21 LEABTjDESlT22 HOUCXa323 CLOrep25环noyHHcoi27IHT21H20 CODES EIWS29EWSTftRT要查看传送结果是否正确,需要进行D

5、EBUG操作。具体步骤如下:1 -U,查看反汇编代码结果腮 MKBcw 0.74. Cpu speed0003 BB7607 00G0 BEDB005 BB71G70006 BEGG000A 8D3&000000E BD3DOO0B0012 B903I900015 FC0016 F3601? fi4001日 B44C001A CDZ1SMC GG0001E 00033000 cyr le-s. Framekip 0, Pro-graimi; DEBUG | E) | SSHOM770KWDS. AXHOVAX.0771rtOUES.ftXLEWSLI0000LEflDLIWOOJHOU(X0S

6、Q3CLDREPZKW5BHOUAH.4C1NTZ1ADDIHKSIl.ALADD2 -T4,将数据段和附加数据段装入内存。jjl DOSEdy 0.74, Cpu -speedi :JDOO 叩1曰.Frarne-sldp 0. Program: DEBDj| o | 回 l| E3 |B772:国 IK Ft: 即?2;0站 即ZZ:的I? 0772:0010B772601A 977Z:001C 即?z:emiEPHF3 制 meCB21O00CLD REPSMDUS imu NTADDMH储I啊21BX*3llftL赵码!IS1Lixez?0 BX=W0OBS=W60忖 7Z:em BE

7、DSC3C 毛03C DX=0ro SF=eTOOSS 电阳 F CS=0?72 IP=eO63HOU DS.ftKIP=0000 SIOW DI=O0WIW HJP EO PL 临斯 M3 MCfx=cr?70 BX=0O0EI|Ke77(DE3-O?&0pf?7Z: e DS71Gf?盼的就 DX=03 豹=0驱I8SKJ7&F CS-(jJ77Z IF-H)G6HOU IX,e771BF=e 81=0 Bl=MeHU l|JF ED PL NA ra IMCix=tl BX=G00技再770 ES=WWP?2;00 BBCaCX=00:3CS3=WbF C5=077Z IF=e9WHOU

8、ES.敝呼=0彌射宓曲皿=医曲mi Li卩 ei fl k m ro nc貿旳? i BX=e0 标胡77Q ES=W71BP=wa soaoow 疏二妙eIW UP El PL ME m TO RC疇;妙健餉曲3c 跌 0站 盼 easeSS=W6F cs=0772 IF 曲册擀72;的翳 SD%QlBaeLEA W 阳鬧可以看到最后数据段段地址DS=0770H,附加数据段段地址ES=0771H。查看 内存,可使用-D指令。查看数据段:-D 0000 (默认数据段);查看附加数据段: -D 0771:0000(段地址:偏移地址)。结果如下图所示数据装入成功。 DOSBcx 0.74,. Cp

9、u speed: 3CKD cycles, FrameiE;kip 口Program: DEBUGSi?TO:G7A0 77G:G?B0770:(3711031?770:070 70:旳盹oeoeoeoeoe 2* tt- tt- S* a01010101 OGOG丽寫 0- 0- 0- 00a -o 8M3le (J01 I0I0IEI1P01I0I u u “-J *-ZJEli 器器00 曲% wwe 5* 5* 5* S* 2*ea o- o10 IJQIEIalol 旧I0BP01 to“u0 6000需00 IGIGIQK3IG) 0 Q- 0 000090909090-E 000

10、0 I _ flf779:GWfffl 匣 3779:0010 & 37?n;ffi nn 朋加:曲肺 no -r;7|:MHI HH ?U:tWtjU 00 tw .J CH ) _J f l (-X-) J JLJ-I) Q771:tM9da? 04SE0O旧旧ral 1! rtn o- w F E z泗河国渕 石日1010161010IG Tfi- _o 0 o MW09FJO-Ofi fJO-ffl 旳-M M IM M J HH OU UW O) W t UWIM (MRD CD H twIHOT71:OOGX3 I771:GW1G 0771:0020(7771: MHO(777仁财

11、flOT71 : CMTiO W?l:tW/U|S5 060I0I0I0I0IGIGI70GaQ0 8|0*93*900a30 0 B00 09 旳 EE DB 曲 03 00 AO Ofi fifl g g 0 00 OA on 00 Ofl AO W UU OUGJ0-00 7-8EA4-B4fJO-OO no-ofiRO 0000 uwI3II0I9I8I6IGIG 0GGoo_woS* 0eee6ee0 alal0lelel olnl EoEIolatl lD 00阿00 08C-0-OGGG90 00 ED 3E 00 OG fiO OfiM) 0000 Ofi00 GOO) UW3

12、 -T4。设置SI,DI,CX,DF 的值的7十鹽的臥771:圏100771垢映的卩1:的諒血_1盘冋tJM-:E MutM 比68器器WC=0771 iB=WW &S=W?tP ES书?7i 0722 ;加瓠 BD3E006&wc=o?i 龄 eweDS=0770 iES=W?l闵 12 imjeecxoeasc ss=w&rA4I-B4 0fi-OQ妙脚-00MaBaaaSQ1!B0002O00 0px=ee sp=ow0CS=W72 IP=ffiMLEA DLtQOlBeCX=003C D罟國圏 SF=W90SSOT&F CS=e?72 IP=O&12 MOU CX.OTObpssw 常

13、喪的 ii=oeeemu up ej n Hz m po hear =O0W si毛磁 Pi=weeNU UP El PL ns m po wEJF-fflM)e 3 0-0300DI-0000nu up ei rL ns mi ro mcaxhotp i 咲 eeoo DS 毛7?0)ES=ef771!0f77Z-ffil5 rcCX-tKB3 EOZ畑SS=0f7&F C59?7ZCISSP-CHOOIF=e9154 -T 执行三次,执行重复串传送命令。5 -D 0771:0000 。查看附加数据段结果是否正确。可以看到,将数据段中前三个字符传送到了附加数据段中,结果正确。rrnriDOS

14、Bax.74,匚pu wpeed: JDOO eyries, Aramesldp fl. Program: DEQLIiS|丄 sleleee1007 Feo&ao4. 串比较指令格式: REPE/Z REPNZ/NE CMPS DESTS,SRCS REPE/Z REPNZ/NE CMPSB / CMPSW / CMPSD功能:由DS:SI指定的源串元素减去ES:DI指定的目的元素,结果不回送, 只影响标志位的值。当源串元素与目的元素的值相同时,ZF=1;否则ZF=O。可 用来检查两个串是否相等。加重复前缀REPE/Z,表示重复比较两个字符串,若两个字符串的元素相同则 比较到CX=O为止,否则结束比较。加重复前缀REPNE/NZ,表示若两个字符串元 素不相同,重复比较直到CX=0为止,否则结束比较。例2:比较SRC和DEST单元中元素是否相同,若相同,将全1送至DATA1 单元;若不同,将全0送至DATA1单元。在肝1DATAS SEGHEHT02SRC DB Cffl.

展开阅读全文
相关资源
相关搜索

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

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