日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言 循环控制指令

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言 循环控制指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

循環控制指令是一組增強型的條件轉義指令,用來控制一個程序段的重復執行,重復次數由CX寄存器中的內容決定。這類指令的字節數均為2,第1字節是操作碼,第2字節是8位偏移量,轉移的目標都是短標號。

LOOP 循環指令(Loop) 指令格式:LOOP 短標號

指令功能:這條指令用于控制重復執行一系列指令。指令執行前必須事先將重復次數放在CX寄存器中,每執行一次LOOP指令,CX自動減1。如果減1后CX≠0,則轉移到指令中所給定的標號處繼續循環;若自動減1后CX=0,則結束循環,轉去執行LOOP指令之后的那條指令。一條LOOP指令相當于執行一下兩條指令的功能:

DEC CX JNZ 標號

以下是
計算 123 * 236 的結果 最后得到結果為 AX = 7164H

assume cs:code; loop 循環指令 cx = cx - 1 檢測cx 是不是等于 0 ; 循環體 ; cx 循環次數code segmentmov ax, 0mov cx, 123addNumber: add ax, 236mov dx, 1000Hmov dx, 2000Hloop addNumber ;標號 地址mov ax, 4C00Hint 21H code endsend

以下是
求FFFF:0 到FFFF:F 字節型數據的和 結果存放在DX中

assume cs:code ; loop 循環指令 cx = cx - 1 檢測cx 是不是等于 0code segmentmov ax, 0FFFFHmov ds, axmov bx, 0mov ax, 0mov dx, 0mov cx, 16addNumber: mov al, ds:[bx]add dx, axinc bxloop addNumber ;標號 地址mov ax, 4C00Hint 21Hcode endsend

注:數據不允許字母開頭 0FFFFH 0BCH
以下是運行結果:

將FFFF:0~FFFF:F 中的字節型數據 復制到 0:200 - 0:20F中

第一種方式:
assume cs:codecode segmentmov bx, 0mov cx, 16copyDate: mov ax, 0FFFFHmov ds, axmov dl, ds:[bx]mov ax, 0020Hmov ds, axmov ds:[bx], dlinc bxloop copyDatemov ax, 4C00Hint 21Hcode endsend
第二種方式
assume cs:code; 數據不允許字母開頭 0FFFFH 0BCHcode segmentmov ax, 0FFFFHmov ds, axmov ax, 0020Hmov es ,axmov bx, 0mov cx, 16copyDate: mov dl, ds:[bx]mov es:[bx], dlinc bxloop copyDate ;標號 地址mov ax, 4C00Hint 21Hcode endsend

運行結果:

注:0:200H ~ 0:2FFH 和 0:7E00H ~ 0:FFFFH 屬于可用區域,否則會涉及到內存安全的問題。

向內存0:200 - 0:23F 傳遞數據0~63(3FH)

assume cs:codecode segmentmov ax, 0020Hmov es, axmov bx, 0mov ax, 0mov cx, 64addNumber: mov es:[bx], alinc bx inc alloop addNumbermov ax, 4C00Hint 21Hcode endsend

運行結果:

下面的程序功能是將 mov ax, 4C00H 之前的指令復制到內存 0:200
需要考慮:

  • 1.復制的是什么?
  • 2.從哪里到哪里?
  • 3.有多少個字節?
assume cs:codecode segmentmov ax, csmov ds, axmov ax, 0020Hmov es, axmov bx, 0mov cx, 17HcopyDate: mov al, ds:[bx]mov es:[bx], alinc bxloop copyDatemov ax, 4C00Hint 21Hcode endsend

要復制的指令所占的字節

程序執行后:

總結

以上是生活随笔為你收集整理的汇编语言 循环控制指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。