将AL中一个两位的16进制数变换为其所对应的ASCII码,存放到BX中,并显示 用查表的方法将一位十六进制数转换成与它相应的ASCII码,并...
\u7f16\u5199\u7a0b\u5e8f\u5c06AX\u4e2d\u768416\u8fdb\u5236\u6570\u8f6c\u5316\u6210ASCII\u7801,\u5e76\u5c06\u5bf9\u5e94\u7684ASCII\u7801,\u4f9d\u6b21\u5b58\u653e\u5230ADDR\u5f00\u59cb\u7684;\u697c\u4e0a\u7684\u4f60\u4e0d\u4f1a\u5c31\u4e0d\u8981\u778e\u56de\u7b54\u95ee\u9898\uff01
;\u7f16\u5199\u7a0b\u5e8f\u5c06AX\u4e2d\u768416\u8fdb\u5236\u6570\u8f6c\u5316\u6210ASCII\u7801,\u5e76\u5c06\u5bf9\u5e94\u7684ASCII\u7801,
;\u4f9d\u6b21\u5b58\u653e\u5230ADDR\u5f00\u59cb\u7684
STACKS SEGMENT STACK ;\u5806\u6808\u6bb5
DW 128 DUP(?) ;\u6ce8\u610f\u8fd9\u91cc\u53ea\u6709128\u4e2a\u5b57\u8282
STACKS ENDS
DATAS SEGMENT ;\u6570\u636e\u6bb5
ADDR DB 4D DUP(?)
DATAS ENDS
CODES SEGMENT ;\u4ee3\u7801\u6bb5
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;\u521d\u59cb\u5316
MOV DS,AX
;{ \u672c\u7a0b\u5e8f\u6bb5\u5c06ax\u4e2d\u7684\u5341\u516d\u8fdb\u5236\u6570\u503c\u8f6c\u6362\u4e3aasccl\u7801\u4e14\u4f20\u9001\u7ed9addr\u6570\u7ec4
MOV DX,AX ;\u5c06ax\u4fdd\u62a4\u8d77
;\u2460\u8f6c\u6362ah\u7684\u9ad8\u56db\u4f4d
AND AH,11110000B
MOV CL,04H
SHR AH,CL
ADD AH,30H ;\u5c06\u5176\u8f6c\u6362\u4e3a\u76f8\u5bf9\u7684ascll\u7801
CMP AH,39H ;\u5224\u65ad\u5982\u679c\u4e0d\u5927\u4e8e39\u5219\u8bc1\u660e\u5176\u4f4d\u6570\u5b57\u7ee7\u7eed\u8f6c\u6362\u5176\u4ed6\u7684,\u5426\u5219\u8bc1\u660e\u662f\u5b57\u6bcd\u8fd8\u8981\u52a07h
JNA SHUZI
ADD AH,07H
SHUZI: MOV [ADDR+0],AH
;\u2461\u8f6c\u6362ah\u7684\u4f4e\u56db\u4f4d
MOV AX,DX ;\u5c06\u4e4b\u524d\u4fdd\u62a4\u7684ax\u56de\u9001
AND AH,00001111B
ADD AH,30H ;\u5c06\u5176\u8f6c\u6362\u4e3a\u76f8\u5bf9\u7684ascll\u7801
CMP AH,39H ;\u5224\u65ad\u5982\u679c\u4e0d\u5927\u4e8e39\u5219\u8bc1\u660e\u5176\u4f4d\u6570\u5b57\u7ee7\u7eed\u8f6c\u6362\u5176\u4ed6\u7684,\u5426\u5219\u8bc1\u660e\u662f\u5b57\u6bcd\u8fd8\u8981\u52a07h
JNA SHUZI2
ADD AH,07H
SHUZI2: MOV [ADDR+1],AH
;\u2462\u8f6c\u6362al\u7684\u9ad8\u56db\u4f4d
MOV AX,DX ;\u5c06\u4e4b\u524d\u4fdd\u62a4\u7684ax\u56de\u9001
AND AL,11110000B
MOV CL,04H
SHR AL,CL
ADD AL,30H ;\u5c06\u5176\u8f6c\u6362\u4e3a\u76f8\u5bf9\u7684ascll\u7801
CMP AL,39H ;\u5224\u65ad\u5982\u679c\u4e0d\u5927\u4e8e39\u5219\u8bc1\u660e\u5176\u4f4d\u6570\u5b57\u7ee7\u7eed\u8f6c\u6362\u5176\u4ed6\u7684,\u5426\u5219\u8bc1\u660e\u662f\u5b57\u6bcd\u8fd8\u8981\u52a07h
JNA SHUZI3
ADD AL,07H
SHUZI3: MOV [ADDR+2],AL
;\u2463\u8f6c\u6362al\u7684\u4f4e\u56db\u4f4d
MOV AX,DX ;\u5c06\u4e4b\u524d\u4fdd\u62a4\u7684ax\u56de\u9001
AND AL,00001111B
ADD AL,30H ;\u5c06\u5176\u8f6c\u6362\u4e3a\u76f8\u5bf9\u7684ascll\u7801
CMP AL,39H ;\u5224\u65ad\u5982\u679c\u4e0d\u5927\u4e8e39\u5219\u8bc1\u660e\u5176\u4f4d\u6570\u5b57\u7ee7\u7eed\u8f6c\u6362\u5176\u4ed6\u7684,\u5426\u5219\u8bc1\u660e\u662f\u5b57\u6bcd\u8fd8\u8981\u52a07h
JNA SHUZI4
ADD AL,07H
SHUZI4: MOV [ADDR+3],AL
;}\u8f6c\u6362\u5b8c\u6bd5
MOV AX,4C00H ;\u9000\u51fa\u7a0b\u5e8f
INT 21H
CODES ENDS
END START
mov al,[\u5341\u516d\u8fdb\u5236\u503c]
mov bx,\u8868\u9996\u5730\u5740
xlat
\u8fd9\u4e09\u6b65\u5373\u53ef\u4f7f\u5f97al\u4e2d\u7684\u7ed3\u679c\u4e3a\u5bf9\u5e94\u5341\u516d\u8fdb\u5236\u6570\u7684ASCII\u7801\u4e86\u3002"
绛旓細MOV AL锛孊UF CALL FAR PTR HECA OK锛欻ECA PROC FAR PUSH AX CMP AL锛10 JC K1 ADD AL锛7 K1锛欰DD AL锛30H MOV DL 锛 AL POP AX RET HECA ENDP 闂 鈶 鍐欏嚭瀛愮▼搴 HECA 鐨勮鏄庢枃浠躲傚瓙绋嬪簭鍚嶏細HECA 瀛愮▼搴忓姛鑳斤細灏咥L涓殑涓浣16杩涘埗鏁杞崲鎴愮浉搴旂殑ASCII鐮 鍏ュ彛鍙傛暟锛欰L涓瓨鏀惧緟杞崲鐨勪竴...
绛旓細; 瑕佽浆鎹㈢殑鏁颁笉瓒呰繃10杩涘埗鐨99code segment assume cs:code org 100hstart:jmp begina db 55hb db ?begin:push cs pop ds push cs pop es mov al,a mov bl,10 div bl mov cx,4 shl al,cl or al,ah mov b,al int 3 ; 璇峰湪debug...
绛旓細cmp al,0 jb l10 cmp al,9 ;浜0鍜9姣旇緝锛屽洜涓16杩涘埗鏁涓鏃﹁秴杩10灏辫鐢ㄥ瓧姣嶈〃绀 jna right add al,7 ;濡傛灉瓒呰繃9锛屽垯ASCALL鐮佸姞7鍙樻垚A~Fright:add al,30h mov dl,al mov ah,2 int 21h ;杈撳嚭灞忓箷鏄剧ず pop bx ;鎶婁箣鍓嶄繚鐣欑殑鐜板満鍘熷煎嚭鏍堢粰鍥瀊x pop cx ...
绛旓細pop es ;浣鏁版嵁娈点侀檮鍔犳涓庝唬鐮佹鍚屾 cld lea si,HEX ;鏁扮粍棣栧湴鍧 lea di,ASC ;鍗佸叚杩涘埗鏄剧ず鐨凙SCII鐮佸瓧绗︿覆鍦板潃 mov cx,Elements ; 鏁扮粍鍏冪礌涓暟瑁呭叆璁℃暟瀵勫瓨鍣 Translate: lodsb ;璇诲叆涓涓鍏冪礌鑷矨L call Byte_ASCII ;鎶AL涓殑浜岃繘鍒舵棤绗﹀彿鏁拌浆鎹㈡垚鍗佸叚杩涘埗鏄剧ず鐨凙SCII鐮 stosw loop ...
绛旓細stc ;姝ゆ寚浠よ缃甤f涓1 rotate:rcl bx,1 ;娉ㄦ剰杩欓噷鏄甫杩涗綅宸︾Щ锛岀▼搴忕殑鎬濇兂鎵鍦 jmp loop1 print:mov dl,0dh ;鎺ヤ笅鏉ョ殑鍏鎸囦护鎵撳嵃鍥炶溅鍜屾崲琛岋紝閬垮厤杈撳嚭鐨勮鐩栧師鏉ョ殑杈撳叆 mov ah,2h int 21h mov dl,0ah mov ah,2h int 21h mov cl,4 ;灏哹x鐨勪簩杩涘埗鏁鎸鍗佸叚杩涘埗鏄剧ず鍑烘潵 mov...
绛旓細mov byte ptr [eax+ecx-1],dl inc ebx .untilcxz ;涓鐩村惊鐜紝鐩村埌cx鐨勫=0锛屾瘡娆″惊鐜悗ecx鐨勫-1 ret _Translate endp start:mov eax,1A5FH ;淇敼杩欓噷鐨勬暟锛屽氨鑳芥妸浠绘剰16杩涘埗鐨勬暟杞寲涓篈SIC鐮佷簡 invoke _Translate,eax,offset szResult invoke MessageBox,NULL,offset szResult,offset szCaption...
绛旓細P SEGMENT ORG 100H ASSUME CS:P,DS:P,ES:P,SS:P MAIN PROC NEAR MOV SI,VAR MOV CX,4 mov bx,table L2 : PUSH CX MOV CL,4 ROL SI,CL MOV AX,SI AND AL,0FH XLAT mov dl, al MOV AH,2 INT 21H POP CX loop cx MOV AH,4CH INT 21H TABLE DB 30H,31H,32H,33H,34H,...
绛旓細2.缂栧啓瀛愮▼搴忥紝瀹屾垚鐨勫姛鑳芥槸灏咲L涓殑2浣嶅崄鍏繘鍒舵暟杞崲涓哄搴擜SCII鐮併傝鏄庯細鍏ュ彛鍙傛暟AL=寰呰浆鎹㈢殑2浣嶅崄鍏繘鍒舵暟 鍑哄彛鍙傛暟DX=杞崲鍚庣殑ASCII鐮侊紝锛堥珮瀛楄妭瀵瑰簲楂樹綅銆佷綆瀛楄妭瀵瑰簲浣庝綅锛変妇渚嬶細鑻L=2AH锛屽垯DX=3241H銆0---9杞崲涓30H---39H +30H A---F杞崲涓41H---4FH +30H+7H ;--- AL_ASC...
绛旓細0fh mov byte ptr[di],al pop ax mov cl,4 ror ax,cl dec di pop cx loop again1 ;浠ヤ笅鏄皢array鏁扮粍涓殑16杩涘埗鏁杞负ASCii鐮 lea si,array add si,2 mov cx,4again2: cmp byte ptr[si],9 jg next1 add byte ptr[si],30h jmp nex...
绛旓細杩欐槸鎴戞浘缁忓啓鐨涓涓绋嬪簭锛岃繖娈典唬鐮佺殑浣滅敤鏄惊鐜4娆¤緭鍏4浣16杩涘埗鏁锛屾垜鎶婂畠杞崲浣2杩涘埗鏁帮紝鏂规硶灏辨槸瀵逛簬姣忎竴浣嶆暟锛堢幇鍦ㄦ槸ASCII鐮侊級杞寲涓0鈥斺9鎴朼鈥斺攆鐨勬暟锛岀劧鍚庡乏绉4浣嶏紝鏀惧埌涓涓彉閲忛噷闈紝寰幆灏辫浜嗭紝涔熷氨鏄16杩涘埗杞崲涓2杩涘埗鐨勫熀鏈畻娉曪紝宸︾Щ4浣嶏紝涓嶆柇鐨勮繘琛屻傘俋OR BX,BX ;BX閲岄潰鏀...