一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

匯編(七)——數(shù)據(jù)傳送類指令二

 shamo9966 2015-09-29

、通用數(shù)據(jù)傳送指令:交換指令XCHG和換碼指令XLAT

 

1、交換指令用來將源操作數(shù)和目的操作數(shù)內(nèi)容交換,格式如下:
XCHG reg,reg/mem         ;reg←→reg/mem,也可以表達(dá)為:XCHG reg/mem,reg
XCHG指令中操作數(shù)可以是字、也可以是字節(jié),可以在通用寄存器與通用寄存器或存儲器之間對換數(shù)據(jù),當(dāng)不能在存儲器與存儲器之間對換數(shù)據(jù)。
(1)XCHG指令不影響狀態(tài)標(biāo)志。
(2)段寄存器不能作為XCHG指令的操作數(shù)。
指令舉例:
XCHG SI,AX
XCHG AL,BL
XCHG AX,[2000H]
XCHG WORD_VAR,CX
數(shù)據(jù)交換程序?qū)嵗?br>例:LI7-1.ASM
將S1串與S2串交換
NAME LI7-1.ASM
DATA    SEGMENT
S1        DB 'ABCDEFG'
S2        DB '0123456'
N          DW $-OFFSET S2                    ;N為字符串長度
DATA    ENDS
CODE   SEGMENT
           ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
            MOV DS,AX
            MOV SI,0
            MOV CX,N
L1:       MOV AL,S1[SI]                         ;S1[SI]與S2[SI]交換
           XCHG AL,S2[SI]
           MOV S1[SI],AL
           INC SI                                     ;(SI)+1—〉SI
           LOOP L1
           MOV CX,N                                ;顯示S1串
           MOV SI,0
           MOV AH,02H
L2:       MOV DL,S1[SI]
           INT 21H
           INC SI
           LOOP L2
           MOV DL,' '
           INT 21H
           MOV CX,N                          ;顯示S2串
           MOV SI,0
L3:      MOV DL,S2[SI]
           INT 21H
           INC SI
           LOOP L3
           MOV AH,4CH
           INT 21H
CODE  ENDS
          END START 

2、換碼指令用于將BX指定的緩沖區(qū)中、AL指定的位移處的數(shù)據(jù)取出賦給AL,格式為:
XLAT LABEL
XLAT               ;al←ds:[bx+al]
換碼指令的兩種格式完全等效。第一種格式中,label表示首地址;第二中也可以用XLATB助記符。實(shí)際的首地址在BX寄存器中。
將首地址為100H的表格緩沖區(qū)中的3號數(shù)據(jù)取出
MOV BX,100H
MOV AL,03H
XLAT
因?yàn)锳L的內(nèi)容實(shí)際上是距離表格首地址的位移量,只有8位,所以表格的最大長度為256,超過256的表格需要采用修改BX和AL的方法才能轉(zhuǎn)換。XLAT指令中沒有顯式指明操作數(shù),而是默認(rèn)是用BX和AL寄存器,這種方法稱為隱含尋址方式。
換碼指令的應(yīng)用,如掃描碼轉(zhuǎn)換為ASCII碼,數(shù)字0~9轉(zhuǎn)換為7段顯示碼等
換碼程序?qū)嵗簩⒍M(jìn)制表示的十六進(jìn)制數(shù)字轉(zhuǎn)換成ASCII碼在顯示出來。根據(jù)題意,需要在數(shù)據(jù)段中定義一個換碼表,就是0,1,2,...,16所對應(yīng)的ASCII碼表:
TAB_DA   DB 30H,32H,32H,33H,34H,35H,36H,37H,38H,39H
               DB 41H,42H,43H,44H,45H,46H
或者是:
TAB_DA   DB '0123456789ABCDEF'
完整程序如下:
NAME LI7-2.ASM
TABLE     SEGMENT
TAB_DA  DB 30H,32H,32H,33H,34H,35H,36H,37H,38H,39H
              DB 41H,42H,43H,44H,45H,46H
TAB_HEX DB 0,1,2,3,4,5,6,7,8,9
              DB 0AH,0BH,0CH,0DH,0EH,0FH
TABLE     ENDS
CODE     SEGMENT
             ASSUME CS:CODE,DS:TABLE
START:  MOV AX,TABLE
             MOV DS,AX
             MOV CX,10H
             MOV BX,OFFSET TAB_DA
             MOV SI,OFFSET TAB_HEX
NEXT:    MOV AL,[SI]
            XLAT TAB_DA
            MOV DL,AL
            MOV AH,02H
            INT 21H
            MOV DL 00H
            MOV AH,02H
            INT 21H
            INC SI
            LOOP NEXT
            MOV AH,4CH
            INT 21H
CODE   ENDS
            END START 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美日韩国产亚洲三级理论片| 国产在线一区二区免费| 搡老熟女老女人一区二区| 激情内射日本一区二区三区| 九九热最新视频免费观看| 91偷拍视频久久精品| 久久偷拍视频免费观看| 欧美国产日产在线观看| 国产又长又粗又爽免费视频| 老司机精品一区二区三区| 精品欧美日韩一区二区三区| 成人午夜爽爽爽免费视频| 欧美区一区二区在线观看| 色婷婷国产熟妇人妻露脸| 久久国产成人精品国产成人亚洲| 色丁香一区二区黑人巨大| 老司机精品国产在线视频| 国产一区二区精品高清免费| 欧美同性视频免费观看| 日本人妻的诱惑在线观看| 日本大学生精油按摩在线观看| av一区二区三区天堂| 久久99热成人网不卡| 国产一区二区三区成人精品| 日韩女优精品一区二区三区| 日本欧美在线一区二区三区| 激情少妇一区二区三区| 国产精品免费不卡视频| 高清一区二区三区四区五区| 男人和女人黄 色大片| 果冻传媒精选麻豆白晶晶| 91香蕉视频精品在线看| 国产精品久久女同磨豆腐| av在线免费播放一区二区| 久久久精品区二区三区| 国产一二三区不卡视频| 久久这里只有精品中文字幕| 空之色水之色在线播放| 欧美有码黄片免费在线视频| 亚洲精品av少妇在线观看| 中文字幕日韩欧美理伦片|