将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
生活随笔
收集整理的這篇文章主要介紹了
将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
將AX寄存器中的16位數據分成4組(從高到低),每組4位,然后把這4組數作為數當中的低4位分別放在AL,BL,CL,DL中。
P176
4.14
編程思路:首先用BX、DX存放AX,即原AX=原BX=原DX;
CL為循環移動二進制數位數4位
AL存放AX中的AH的高四位,BL存放AX中的AH的低四位,
CL存放AX中的AL的高四位,DL存放AX中的AL的低四位。
對于AL來說,只需要將原AX的AH右移四位,然后賦值給AL即可
對于BL來說,只需要將原BX的BH賦值給BL,然后再與0FH進行與操作保留后四位即可
對于CL來說,只需要將原DX的DL賦值給DH,然后將DH進行右移四位,此時的DH賦值給CL即可
對于DL來說,原DX的DL就是本身需要的DL,不需要移動
代碼如下:
舉例,AX為9810-->1001 1000 0001 0000 最后結果為 AL BL CL DL CODE SEGMENTASSUME CS:CODE START: MOV BX,AX ;BX 1001 1000 0001 0000MOV DX,AX ;DX 1001 1000 0001 0000MOV CL,4 ;CL 0000 0100SHR AH,CL ;AH 0000 1001MOV AL,AH ;AL 0000 1001MOV BL.BH ;BL 1001 1000AND BL,0FH ;BL 0000 1000MOV DH,DL ;DH 0001 0000SHR DH,CL ;DH 0000 0001MOV CL,DH ;CL 0000 0001;最后結果AL BL CL DL === AX;1001 1000 0001 0000 = AXMOV AH,4CH ;調用4CH號功能返回DOS操作系統INT 21H ;終止當前程序的運行,并返回DOS系統 CODE ENDSEND START總結
以上是生活随笔為你收集整理的将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 披萨加盟费多少钱啊?
- 下一篇: 微机原理与接口技术(第2版)考点