串传送指令MOVSB MOVSW
生活随笔
收集整理的這篇文章主要介紹了
串传送指令MOVSB MOVSW
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MOVSB(move?string?byte)
ES:DI?<--?DS:SI?
把ds:si所指地址內(nèi)存單元中的數(shù)據(jù)送到es:di所指向的內(nèi)存單元中,源地址數(shù)據(jù)保持不變,si和di指向下一個要傳送的數(shù)據(jù)
傳送的次數(shù)(字符串長度)保存在CX寄存器中并用cld/std說明si和di是遞增還是遞減,最后用REP指令重復執(zhí)行MOVSB直到cx=0終止
MOV?AX,1000H
MOV?DS,AX
MOV?AX,2000H
MOV?ES,AX
MOV?SI,0 ;DS:SI?源地址數(shù)據(jù)
MOV?DI,0????? ;目的地址
MOV?CX,16H ?;傳送長度?16次?即16個字節(jié)
CLD ;SI,DI遞增,相當于INC?SI?INC?DI
REP?MOVSB ?;循環(huán)執(zhí)行movsb?16次?依次將1000:0內(nèi)存單元處的數(shù)據(jù)送入2000:0單元處
? ;rep:?cx=16?所以movsb執(zhí)行了16次?
? ;REP?MOVSB?將?CX?個字節(jié)從?DS:[SI]?移到?ES:[DI]
執(zhí)行前內(nèi)存:
-d ds:0 f 1000:0000 61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D a batch file.... -d es:0 f 2000:0000 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 執(zhí)行后內(nèi)存: -d ds:0 f 1000:0000 61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D a batch file.... -d es:0 f 2000:0000 61 20 62 61 74 63 68 20-66 69 6C 65 2E 0D 0A 0D a batch file....總結(jié)
以上是生活随笔為你收集整理的串传送指令MOVSB MOVSW的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城与勇士DNF现在遗迹或者悲鸣等远古
- 下一篇: 分段机制