汇编语言中,如果要将AL中的高4位移至低4位的位置,有几种方法,并详细写下代码。不胜感激 汇编语言 如果要将AL中的高4位移至低4位的位置,并将高四位...
\u6c47\u7f16\u8bed\u8a00 \u5982\u679c\u8981\u5c06AL\u4e2d\u7684\u9ad84\u4f4d\u79fb\u81f3\u4f4e4\u4f4d\u7684\u4f4d\u7f6e\uff0c\u5e76\u5c06\u9ad8\u56db\u4f4d\u6e050\u5199\u51fa\u5b9e\u73b0\u8fd9\u4e9b\u65b9\u6cd5\u7684\u7a0b\u5e8f\u4e00\u3001
shr al,4
\u5982\u679cax\u5bc4\u5b58\u5668\u4e2dah\u4e3a0\uff0c\u8fd9\u6837\u5c31\u884c\u4e86\uff0c\u5982\u679c\u4e0d\u4e3a0 \uff0c\u518d\u52a0\u4e00\u6761and al,00001111
\u4e8c\u3001
xor bx,bx ;\u5bc4\u5b58\u5668\u6e050
mov bx,10H;10H=2\u7684\u56db\u6b21\u65b9
div bx;\u9664\u4ee52\u7684\u56db\u6b21\u65b9\uff0c\u76f8\u5f53\u4e8e\u53f3\u79fb\u4e86\u56db\u4f4d
and 00001111
SWAP AL
MOV A,AL
MOV R0\uff0cA
MOV A,#0F0h
ANL A,R0
MOV AL,A
用RR A命令;这是循环右移,用四次这个命令就可以
用RLC A命令;这是带进位左移,要用五次这个命令
用RRC A命令;这是带进位右移,要用五次这个命令
用SWAP A命令;这是高低4位直接交换
1、用SHR指令一位一位的移。也可以用ROR或者ROL指令一位一位的移。
2、用除法指令,除以16实现高四位变第四位(乘以2相当于左移一位,除以2相当于右移一位)。
暂时就想到这2方法,希望对你有帮助。
ah=12,al=34
1/mov cl,4
shr ax,cl ;ah=0,al=12
2/mov cl,4
sar ax,cl ;ah=0,al=12
3/mov cl,4
ror ax,cl ;ah=34,al=12
4/mov cl,4
rol ax,cl ;ah=34,al=12
5/xchg al,ah ;ah=34,al=12
6/mov al,ah ;ah=12,al=12
7/mov dx,0
mov bx,100h
div bx ;ah=0,al=12
绛旓細杩欏疄闄呬笂灏辨槸鎶夾L涓殑鍐呭鍊掍竴涓嬪簭銆傝涓涓嬫濊矾鍚с侻OV CX锛8 YIDONG锛氬AL浣跨敤SHL锛堥昏緫宸︾Щ锛夋寚浠わ紝鏈浣庝綅琛0锛屾渶楂樹綅杩汣F锛涘AH浣跨敤RCR锛堝甫杩涗綅鐨勫惊鐜彸绉伙級鎸囦护锛孋F杩涘叆浜咥H鐨勬渶楂樹綅銆侺OOP YIDONG %浠ヤ笂涓ゆ閲嶅8娆 杩欐椂鍊橝L閲屽師鍏堢殑鍐呭琚掑簭鍚庢斁鍒颁簡AH閲屻侻OV AL锛孉H ...
绛旓細妫娴婣L瀵勫瓨鍣ㄦ渶楂樹綅鏄惁涓1銆傛墽琛岃繖鏉℃寚浠ゆ椂锛屽皢AL涓殑鍊间笌绔嬪嵆鏁80H锛10000000B锛夋墽琛屾寜浣嶄笌杩愮畻銆傝繍绠楃粨鏋滃弽鏄犲湪鏍囧織瀵勫瓨鍣ㄤ笂锛歓F鍙嶆槧缁撴灉鏄惁涓洪浂锛汼F鍙嶆槧AL鐨勬渶楂樹綅鏄惁涓0 娉ㄦ剰涓ょ偣锛氭寚浠や腑鐨勭珛鍗虫暟80H锛10000000B锛夐氬父绉颁负鎺╃爜銆傜敤鎺╃爜瑙勫畾瑕佹娴嬬殑浣嶏紱鎵цTest鎸囦护涓嶄細鏀瑰彉AL涓殑鍊 ...
绛旓細CBW 瀛楄妭杞崲涓哄瓧鎸囦护鎵ц鐨勬搷浣滐細AL鐨勫唴瀹规墿灞曞埌AH,褰㈡垚AX涓殑瀛椼侫L绗﹀彿鎵╁睍涓篈X銆傚湪8086涓瑿BW鎸囦护灏咥L鐨勬渶楂樻湁鏁堜綅D7鎵╁睍鑷矨H锛屽嵆锛濡傛灉AL鐨勬渶楂樻湁鏁堜綅鏄0锛屽垯AH = 00锛孉L鐨勬渶楂樻湁鏁堜綅涓1锛屽垯AH = FFH銆侫L涓嶅彉銆傦紙鍗冲皢AL鐨勭鍙蜂綅绉昏嚦AH锛塁BW灞炵鍙锋墿灞曟寚浠わ紝瀹冨彲浠ユ妸8浣嶆墿灞曞埌16浣嶏紝...
绛旓細CBW鎸囦护灏咥L鐨勬渶楂樻湁鏁堜綅鎵╁睍鑷矨H锛屽嵆锛濡傛灉AL鐨勬渶楂樻湁鏁堜綅鏄0锛屽垯AH = 00锛汚L鐨勬渶楂樻湁鏁堜綅涓1锛屽垯AH = FFH銆侫L涓嶅彉锛屽al涓殑鍊兼槸0F0H,cbw鍚庯紝ax涓殑鍊兼槸0FFF0H,鑰宮ov ax,word ptr buf,鏄妸浠uf涓哄湴鍧鐨勪袱涓瓧鑺傦紝瀛樺叆ax,濡傦細buf db 30H,50H,70H mov ax,word ptr buf鍚庯紝ax...
绛旓細;鍚態X[SI]鎸囧悜鍗曞厓缃浂 INC SI ;鎸囬拡鍔犱竴 CMP SI,#7D1H ;鎶奡I鍜2001浣滄瘮杈 JNE START ;涓嶇浉绛夊垯杞埌START 2. MOV CL锛#4H ;鎶婂惊鐜鏁拌祴鍊肩粰CL ROL AL锛孋L ;灏咥L涓殑鏁版嵁渚濇寰幆宸︾Щ鍥涗綅 ;鍗冲皢al瀵勫瓨鍣涓殑楂4浣嶄笌浣4浣嶄氦鎹 ...
绛旓細;disp_al瀛绋嬪簭灏瀵勫瓨鍣AL涓殑鏁板间互鍗佸叚杩涘埗鏄剧ず鍑烘潵 disp_al:mov dh, al mov bx, 2;bx鐢ㄤ簬寰幆,涓涓瓧鑺傛渶澶氬彲浠ユ樉绀烘垚涓や釜瀛楃,鎵浠ュ惊鐜鏁版槸2娆 mov cl, 4;棣栧厛鏄剧ず楂4浣,鍦ㄤ笅娆″惊鐜繘鍐嶆樉绀轰綆4浣 shr al, cl again:and al, 0fh cmp al, 9 ja hex add al, '0';濡傛灉灏忎簬9,鍔...
绛旓細璋冭瘯閫氳繃锛丆ODES SEGMENT ASSUME CS:CODES START:mov al,01h ;ax璧嬪 mov cx,8 s1:rol al,1 ;浠庢渶楂樹綅寮濮嬭緭鍑 mov dl,al and dl,1 add dl,30h push ax ;淇濆瓨ax閲岀殑鍊 mov ah,2 int 21h pop ax ;鎭㈠ax閲岀殑鍊 loop s1 MOV AH,4CH INT 21H CODES ENDS END START ...
绛旓細4ch int 21hdispnum proc near push ax push bx push cx push dx push si push di push bp pushf ; 灏嗚鏄剧ず鐨勬暟鎹斁鍏AL涓 mov ah,0 mov cl,10 div cl mov byte ptr[@@y+4],ah ;淇濆瓨涓綅 add byte ptr[@@y+4],30h ;涓綅...
绛旓細AL鏈韩鏄疉X鐨勪竴閮ㄥ垎銆傛墍浠,浣犵殑闂瀹為檯涓婃槸濡備綍灏咥L涓殑8浣嶆暟鎵╁睍鎴16浣嶃濡傛灉AL涓殑鏁版槸鏃犵鍙锋暟,閭d箞,鍙闇瑕佸皢AH娓呴浂灏卞彲浠ヤ簡銆傝繖闇瑕佷竴鏉℃寚浠: ...鏇村鍏充簬姹囩紪璇█鐨勭煡璇 > 姝e湪姹傚姪 鎹竴鎹 鍥炵瓟闂,璧㈡柊鎵嬬ぜ鍖 鑻︾瓑4鍒嗛挓: 鑺鑻 Java涓悓姝ュ拰寮傛鏈変綍寮傚悓 鍥炵瓟 鑻︾瓑20鍒嗛挓: 缃戠珯寤鸿鎬庝箞...
绛旓細姹囩紪璇█涓瀵勫瓨鍣ˋX鍜AL閫氬父绉颁负绱姞鍣(Accumulator)锛岀敤绱姞鍣ㄨ繘琛岀殑鎿嶄綔鍙兘闇瑕佹洿灏戞椂闂淬傜疮鍔犲櫒浣滅敤锛氱敤浜庝箻銆侀櫎銆佽緭鍏/杈撳嚭绛夋搷浣滐紝浣跨敤棰戠巼寰堥珮銆