<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 匯編入門(mén)學(xué)習(xí)筆記 (四)—— [BX] 和 loop指令

          匯編入門(mén)學(xué)習(xí)筆記 (四)—— [BX] 和 loop指令

          作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
          瘋狂的暑假學(xué)習(xí)之 匯編入門(mén)學(xué)習(xí)筆記 (四)—— [BX]loop指令

          本文引用地址:http://www.ex-cimer.com/article/201611/317778.htm

          參考:《匯編語(yǔ)言》 王爽 第5章

          1.[BX]

          mov al,[1]

          在debug中,會(huì)把bs:1 中數(shù)據(jù)賦給al,但在在masm中不會(huì)把bs:1 中數(shù)據(jù)賦給al,而是把 [1] 認(rèn)為是 1 賦給al。

          如果要實(shí)現(xiàn)在debug中的mov al,[1],在masm中就需要[bx]

          如:

          mov bx,1

          mov al,[bx]

          還可以用 bs:[1] 的方式

          如:

          mov al,bs:[1]

          2.loop

          循環(huán) 要使用 loop指令

          例子:計(jì)算2^20

          1. assumecs:codesg
          2. codesgsegment
          3. start:movax,0
          4. movcx,20
          5. s:addax,2
          6. loops
          7. movax,4c00H
          8. int21H
          9. codesgends
          10. endstart


          cx 存放 循環(huán)的次數(shù),每次循環(huán)減1

          s是標(biāo)號(hào) 可以任意取名,表示循環(huán)的開(kāi)始處,loop 跳轉(zhuǎn)到s處,可以用debug單步調(diào)試看到 上面代碼,loop s其實(shí)就是 loop 0006H

          3.debug 中l(wèi)oop調(diào)試

          可以用 -g 000B (安裝上面代碼的調(diào)試)運(yùn)行到指定代碼停止,來(lái)跳出循環(huán)。

          或者在循環(huán)中直接用 -p 來(lái)跳出循環(huán)

          4.一段安全空間

          一般情況下 DOS中 0:200H~0:2ffH 空間 沒(méi)有系統(tǒng)或者其他程序的數(shù)據(jù)或者代碼,可以使用。

          5.段前綴的使用

          前面的mov al,bs:[1]

          這里bs: 叫做段前綴

          不僅bs可以

          mov ax,ds:[bx]

          mov ax,cs:[bx]

          mov ax,ss:[bx]

          mov ax,es:[bx]

          都可以

          例子:把內(nèi)存 ffff:0~ffff:b 單元中的數(shù)據(jù)復(fù)制到 020:0~020:f 中。

          1. assumecs:codesg
          2. codesgsegment
          3. start:movax,0ffffh
          4. movds,ax
          5. movax,0020H
          6. moves,ax
          7. movcx,12
          8. movbx,0
          9. s:moval,ds:[bx]
          10. moves:[bx],al
          11. incbx
          12. loops
          13. movax,4c00H
          14. int21H
          15. codesgends
          16. endstart



          關(guān)鍵詞: 匯編入門(mén)[BX]loop指

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();