求助(汇编语言):微机原理,图片中的程序是什么意思?
\u5fae\u673a\u539f\u7406\u6c47\u7f16\u8bed\u8a00\u7a0b\u5e8f\u9898\uff0c\u6bcf\u9898\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u6700\u597d\u6709\u8fd0\u884c\u4ee5\u540e\u7684\u7a97\u53e3\u622a\u56fe\uff0c\u8c22\u5404\u4f4d\u5927\u795e\u4e86~http://blog.163.com/asm_c/blog/static/2482031132015581028111/
\u53c2\u8003\u3002
\u7edf\u8ba1\u6b63\u6570\u3001\u8d1f\u6570\u548c\u96f6\u6570\u636e\u7684\u4e2a\u6570\u7684\u7a0b\u5e8f\uff1a
DATA SEGMENT
DATA1 DB 10, 25, 0, -4,... ;\u6b64\u5904\u697c\u4e3b\u81ea\u5df1\u8865\u9f50100\u4e2a\u6570\u5b57
ZERO DB 0
PLUS DB 0
NEGT DB 0
DATA ENDS
;----------------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA SI, DATA1
MOV CX, 100
AGAIN:
MOV AL, [SI]
CMP AL, 0
JNZ X1
INC ZERO
JMP NEXT
X1: JNB X2
INC NEGT
JMP NEXT
X2: INC PLUS
NEXT:INC SI
LOOP AGAIN
MOV AH, 4CH
INT 21H
CODE ENDS
END START
因为SHL是逻辑左移指令,右侧补零。相当于原来数字乘以2
此程序的功能是分别统计字符A,B,C,D的ACSII码中1的个数。
希望给予采纳!
绛旓細绋嬪簭濡備笅锛氬畬鍏ㄦ弧瓒抽鐩姹傘
绛旓細姹囩紪璇█銆寰満鍘熺悊鍙婃帴鍙f妧鏈洰褰曟湰涔﹀垎涓哄洓涓富瑕侀儴鍒嗭紝璇︾粏浠嬬粛浜嗙浉鍏崇煡璇嗐傜涓閮ㄥ垎锛氭眹缂栬瑷 绗1绔狅紝娣卞叆瑙f瀽杩涘埗涓庣爜鍏冪殑姒傚康銆傜2绔狅紝浠嬬粛寰満纭欢鍩虹锛岀悊瑙h绠楁満鐨勬瀯閫犲師鐞嗐傜3绔狅紝鎺㈣瀵诲潃鏂瑰紡鍜屾寚浠ょ郴缁燂紝涓姹囩紪绋嬪簭璁捐鎵撲笅鍩虹銆傜4绔狅紝MASM姹囩紪璇█璇︾粏璁茶В锛屾帉鎻″疄闄呯紪绋嬫妧宸с傜5绔狅紝...
绛旓細鎬庝箞娌℃湁鐪嬪埌闂鍟婏紵绛夊緟涓...绗竴棰橈細褰撳墠鎸囦护鐗╃悊鍦板潃鏄敱cs:ip鍐冲畾鐨勶紝鍒欎笅涓鏉℃寚浠ゅ簲璇ユ槸cs*16+(ip+2H)=10000H+102H=10102H 褰撳墠鏍堥《鐗╃悊鍦板潃涓篠S*16+SP=40200H [BX]瀵瑰簲鐨勬瀵勫瓨鍣ㄦ槸DS鎵浠ョ墿鐞嗗湴鍧鏄疍S*16+BX=20300H [BP]瀵瑰簲鐨勬槸SS鎵浠ョ墿鐞嗗湴鍧鏄疭S*16+BP=40400H ES:[BX+SI]...
绛旓細鏍规嵁浣犵殑8086姹囩紪璇█绋嬪簭涓殑杩欎釜 13锛13鏄洖杞︾鐨 ASCII 鐮併傝繖涓彲浠ラ氳繃鏍囧噯鐨 ASCII 鐮佽〃寰楀埌浠 0 - 255 鐨勬墍鏈夊瓧绗﹀笺傚父瑙佺殑鎺у埗绗︾殑 ASCII 鐮佹湁锛8锛堝悜宸﹀垹闄ら敭锛夈9锛圱AB閿級銆10锛堟崲琛岄敭锛夈13锛堝洖杞﹂敭锛夛紝杩欎簺閮藉彲浠ュ湪鍛戒护鎻愮ず绗︾姸鎬佷笅杩涜娴嬭瘯銆傚叾涓細data 涓哄畾涔変竴涓暟鎹銆俢mp ...
绛旓細CODE SEGMENT ASSUME CS:CODE ORG 100H START: PUSH CS POP DS PUSH CS POP ES MOV AL,DATA1 MOV CL,4 ROR AL,CL PUSH AX AND
绛旓細(AX)=0020H (BX)=0202H (CL)=00H (CH)=2 锛圕X锛=0200H
绛旓細鍏跺疄鎴戣寰楋紝鍦ㄥ涔寰満鍘熺悊杩欎竴鍧楋紝鏈璁╂垜瑙夊緱妫樻墜灏辨槸杩欎釜姹囩紪璇█浜嗭紝鍦ㄥ瀹冪殑杩囩▼涓紝瑙夊緱杩樻槸鏈夌偣鍚冨姏锛屽挨鍏舵槸瀹冪殑鎸囦护寰堝鐨勶紝鏈夋椂鍊欐绘槸鎶婂畠缁欒娣蜂簡锛屽湪涓婃満鐨勬椂鍊欒繖涓棶棰樻渶绐佸嚭浜嗭紝濡傛灉鏄嚜宸卞啓绋嬪簭鐨勮瘽锛屾绘槸鍐欎笉瀵癸紝鑰屼笖杩愯涓嶄簡锛屽敮涓鐨勮В鍐冲姙娉曞氨鏄湅鑰佸笀鍐欏湪瀹為獙鍙傝冧功涓婄殑绋嬪簭浜嗭紝...
绛旓細绗竴棰樹篃涓嶆槸澶嶆潅锛屽氨鏄箒鐞愶紝涓嶆兂鍋氥傜浜岄銆備綘搴旇鐭ラ亾瀛樺偍鍣ㄦ槸鐢辫姱鐗囩粍鎴愮殑鍚э紝鍋囪濡傛灉cpu闇瑕8鏍规暟鎹嚎浠庡瓨鍌ㄥ櫒璇诲彇鏁版嵁锛屼絾鏄竴涓瓨鍌ㄥ櫒鑺墖濡傛灉鍙湁4鏍规暟鎹嚎锛屽緢鏄剧劧鏄笉鑳戒氦鎹㈡暟鎹殑锛岃繖涓椂鍊欏氨闇瑕2涓姱鐗囨潵鎵╁厖瀛樺偍鍣ㄧ殑浣嶅搴︼紝杩欑鎵╁厖灏辨槸浣嶆墿鍏呫備竴涓瓨鍌ㄨ姱鐗囩殑瀹归噺姣曠珶鏈夐檺锛屽鏋滃瓨鍌...
绛旓細鈶 add si 2 灏辨槸鎸囬拡鍚戝悗绉诲姩2瀛楄妭鎸囧悜涓嬩竴涓厓绱犮2瀛楄妭鏄繖涓緥棰樹腑瀵硅薄鐨勯暱搴︼紙瀛楋紝涔熷氨鏄2涓瓧鑺傦級锛屾暟缁勪腑淇濆瓨鐨勪篃閮芥槸16浣嶆暟鍊笺傗憽 mov ax [si] 浠巗i瀵勫瓨鍣ㄦ墍鎸囧悜鐨勪綅缃彇鍑轰竴涓瓧锛屽啓鍏ュ埌ax瀵勫瓨鍣ㄤ腑銆
绛旓細mov bl,0 ;缃垵鍊间负0cmp al,'0'jb $n ;灏忎簬'0'cmp al,'9' ja $n ;澶т簬'9'mov bl,1$n: ...