帮忙看一下这个程序对不?是16进制转换成ASCII 怎么将16进制转换成ASCII码?

\u4e00\u4e2a\u5341\u516d\u8fdb\u5236\u6570\u8f6c\u6362\u6210ASCII\u7801\u7684\u5355\u7247\u673a\u7a0b\u5e8f

HASC\uff1aMOV A\uff0cR0 \uff1b\u4eceR0\u4e2d\u53d6\u4e00\u4e2a16\u8fdb\u5236\uff08\u4e8c\u8fdb\u5236\uff09\u6570\uff080-F)
ANL A\uff0c#0FH \uff1b\u5c4f\u853d\u6389\u9ad84\u4f4d
PUSH ACC \uff1b4\u4f4d\u4e8c\u8fdb\u5236\u6570\u5165\u6808
CLR C \uff1b\u6e05\u8fdb\uff08\u501f\uff09\u4f4d\u4f4d
SUBB A\uff0c#0AH
POP ACC
JC LOOP
ADD A\uff0c#07H
LOOP\uff1aADD A\uff0c#30H
MOV R2\uff0cA
RET

\u5b9e\u9a8c\u7ed3\u679c\uff1aR0\u4e2d\u7684\u5341\u516d\u8fdb\u5236\u6570\uff08\u6bd4\u5982A),\u8f6c\u6362\u4e3aASCII\u7801\uff0841H)\u9001\u5165R2\u4e2d\u3002\u521a\u624d\u56de\u7b54\u4e86\uff0c\u6ca1\u6709\u4e86\u5417\uff1f

ASCII\u7801\u672c\u8eab\u4e5f\u662f\u75318\u4f4d\u7684\u6570\u5b57\uff0c\u6307\u793a\u8868\u73b0\u7684\u5f62\u5f0f\u4e0d\u540c\u800c\u5df2\u3002
\u6bd4\u5982\u8bf4\u5b57\u7b26 i j k l m\u5176\u5b9e\u5c31\u662f\u5341\u8fdb\u5236\u7684 105 106 107 108 109 \u4e5f\u662f\u5341\u516d\u8fdb\u5236\u76840x69 0x6A 0x6B 0x6C 0x6D\uff0c\u5b83\u4eec\u5728\u8ba1\u7b97\u673a\u5185\u90e8\u7684\u5b58\u50a8\u65b9\u5f0f\u90fd\u662f\u4e8c\u8fdb\u5236\u5b58\u50a8\u7684\u3002\u6211\u60f3\uff0c\u4f60\u6240\u4f4d\u7684\u8f6c\u6362\uff0c\u662f\u53ea\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u7684\u8f6c\u6362\u3002
\u6bd4\u5982\u8bf4\uff1a
char a = 'm'
printf("Display by decimalization: %d",a);
printf("Display by Hex: %x",a);
printf("Display by character: %c",a);

这个程序就转换过程来看,是完全正确的。若用DEBUG看程序运行结果的话,首先要把这个程序编译、链接,生成.EXE文件,然后用DEBUG将这个.EXE文件调入内存,在DEBUG提示符下键入G2E并回车,运行这个程序。然后再键入:D0并回车,就会看到原始数据(前3个字节)和转换后的ASCII码(后面6个字节)了。

下面的程序是我编的,仅供参考。
; -----------------------------------------
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:将AL中的低4位二进制数转换成十六进制显示的ASCII码
; 入口:AL
; 出口:AL=转换后的ASCII码
AL_ASCII Proc Near
cmp al,10 ;AL<10?
jb @@To_ASCII ;AL<10,按数字处理
add al,7 ;AL>=10,按大写字母处理
@@To_ASCII: add al,'0' ;转换成相应的数字或大写字母
ret
AL_ASCII EndP
; -----------------------------------------
; 功能:将AL中的字节数转换成十六进制显示的ASCII码
; 入口:AL
; 出口:AX=转换后的ASCII码
Byte_ASCII Proc Near
push cx
mov cx,4
xor ah,ah ;将AH置0
shl ax,cl ;将AX左移4位
shr al,cl ;将AL右移4位
xchg ah,al
call AL_ASCII ;调用子程序,将AL中的值转换成相应的ASCII码
xchg ah,al
call AL_ASCII
xchg ah,al
pop cx
ret
Byte_ASCII EndP
; -----------------------------------------

HEX db 12H,8AH,32H
Elements equ ($-HEX)/Type HEX ; 数组元素个数
ASC dw Elements dup(?)

Start: push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段

cld
lea si,HEX ;数组首地址
lea di,ASC ;十六进制显示的ASCII码字符串地址
mov cx,Elements ; 数组元素个数装入计数寄存器
Translate: lodsb ;读入一个元素至AL
call Byte_ASCII ;把AL中的二进制无符号数转换成十六进制显示的ASCII码
stosw
loop Translate ;循环,处理下一个元素

Exit_Proc: mov ah,4ch ;结束程序
int 21h

Code ENDS
END Start ;编译到此结束

嗯,


  • 甯繖鐪嬩竴涓嬭繖涓▼搴忓涓?鏄16杩涘埗杞崲鎴怉SCII
    绛旓細杩欎釜绋嬪簭灏辫浆鎹㈣繃绋嬫潵鐪嬶紝鏄畬鍏ㄦ纭殑銆傝嫢鐢―EBUG鐪嬬▼搴杩愯缁撴灉鐨勮瘽锛岄鍏堣鎶婅繖涓▼搴忕紪璇戙侀摼鎺ワ紝鐢熸垚.EXE鏂囦欢锛岀劧鍚庣敤DEBUG灏嗚繖涓.EXE鏂囦欢璋冨叆鍐呭瓨锛屽湪DEBUG鎻愮ず绗︿笅閿叆G2E骞跺洖杞︼紝杩愯杩欎釜绋嬪簭銆傜劧鍚庡啀閿叆锛欴0骞跺洖杞︼紝灏变細鐪嬪埌鍘熷鏁版嵁锛堝墠3涓瓧鑺傦級鍜岃浆鎹㈠悗鐨凙SCII鐮侊紙鍚庨潰6涓瓧鑺傦級浜嗐備笅闈㈢殑绋嬪簭...
  • 姹囩紪璇█16浣嶉櫎娉曞瓙绋嬪簭,鎬庝箞璇讳笉鎳傚晩銆傘傘傜敤涓涓暟甯﹁繘鍘荤畻鐨勪篃涓嶅...
    绛旓細RET ;鍙互鐪嬪嚭杩鏄竴涓埄鐢ㄥ噺娉曟潵璁$畻闄ゆ硶鐨勬柟娉曪紝琚櫎鏁颁笉鏂湴鍑忛櫎鏁扮洿鍒板噺鍒颁笉鑳藉啀鍑忥紝娌″噺涓娆★紝缁撴灉鍔1锛岃繖閲岀粨鏋滃厛鏀惧埌DPTR閲岄潰锛屾渶鍚庨佺粰A杩斿洖銆傛墍浠ワ紝缁撴灉瑕佸皬浜256鎵嶅彲浠ュ緱鍒版纭粨鏋溿
  • 鎬庢牱鍦64浣嶇郴缁熶笂杩愯16浣嶇殑绋嬪簭
    绛旓細1銆佸湪妗岄潰鎸塛IN+R閿紝蹇熸墦寮鈥濊繍琛屸滃璇濇锛岃緭鍏ontrol锛屾墦寮鎺у埗闈㈡澘銆2銆佸湪鎺у埗闈㈡澘鐨勫彸涓婅鎼滅储鈥16浣嶅簲鐢绋嬪簭鏀寔鈥滐紝濡備笅鍥炬墍绀猴細3銆佸弻鍑绘墦寮鈥16浣嶅簲鐢ㄧ▼搴忔敮鎸佲滐紝鐐瑰嚮 鈥濆惎鐢ㄢ滃嵆鍙紝濡備笅鍥炬墍绀猴細
  • ...K2Y20浠涔堟剰鎬濄傜敤鐨勬槸A绯诲垪鐨刾lc銆甯湅涓涓嬬▼搴,璋㈣阿銆
    绛旓細銆擬OV D0 K2Y20銆曟槸杩炵画鎵ц鐨16浣嶆暟鎹紶閫佹寚浠わ紝鎰忔濇槸鎶奃0涓殑鏁版嵁浼犻佽嚦璧峰浣嶇疆涓篩20鐨4涓綅鍏冧欢缁勶紝鍗充粠Y2F-Y20鐨16涓紪绋嬪厓浠躲備綅鍏冧欢浠庨珮鍚戠殑鎺掑垪锛屽嵆Y2F-Y2C,Y2B-Y28,Y27-Y24,Y23-Y20鍏4涓粍銆傝捣濮嬩綅缃甕0鍦ㄦ湯灏俱備妇涓緥瀛愶紝杈撳嚭H0FF锛岄偅涔堜粠Y2F-Y20鐨16涓紪绋嬪厓浠剁殑杈撳嚭鐘...
  • 浠ヤ笅绋嬪簭鐨勮緭鍑虹粨鏋滄槸(8,16,10)why?涓嶆噦銆傝兘瑙i噴涓涓涔
    绛旓細浠0寮澶达紝璇存槑鏄8杩涘埗鏁帮紝鏁卽=010锛屽叾瀹炲氨鏄10杩涘埗鐨8銆備互0x寮澶达紝璇存槑鏄16杩涘埗鏁帮紝鏁卾=0x10锛屽氨鏄10杩涘埗鐨16銆
  • 杩欎釜鍥剧墖涓婄殑C#绋嬪簭浠涔堟剰鎬?鍦ㄨ鍗佸叚杩涘埗鏁板悧?杩欐槸璇籘XT鏂囦欢涓16杩涘埗...
    绛旓細6.7銆9.10.13.14銆15.1618.19杩欎簺鏁板瓧渚濇璇诲叆鍒皌mp鏁扮粍涓紝鐒跺悗杩涜澶勭悊锛堢湅璧锋潵璞℃煇绉嶅姞瀵嗭級锛屽師鏂囦腑鐨刟-f浠ュ強A-H浼氳杞负ascii鐨10鑷15鐨勫瓧绗︼紝0-9浼氳杞负ascii涓殑鏈鍓嶉潰鐨勫崄杩涘埗涓0-9鐨勭鍙凤紙杩欎簺閮芥槸鐗规畩绗﹀彿锛屽叿浣撶殑浣犲彲浠鐪嬬湅ascii琛級鑷充簬涓轰粈涔堣繖鏍峰仛鐨勬剰鍥捐鐪嬩綘绋嬪簭涓婁笅鏂囦簡銆
  • C璇█:鎶16杩涘埗鏁板彉鎴10杩涘埗鏁,涓轰粈涔堣浆鍖栦笉瀵瑰憿?鏈夊摢浣嶅ぇ甯堟寚鐐涓涓...
    绛旓細浠g爜寰堜贡锛屽嚑涔庣湅涓嶆噦銆傛垜杩樻槸鎶婃垜鍐欑殑鍑芥暟缁欎綘鍚с//10->16 //鍑芥暟璇存槑锛歨exstr锛氬瓨鍌ㄥ埌鐨勫瓧绗︿覆鍦板潃锛沝ecval锛氬崄杩涘埗鏁版嵁锛沨exlen锛16杩涘埗鏁版嵁闀垮害锛屼笉瓒冲乏杈瑰姞0琛ヨ冻 char *dec2hex(char *hexStr, int decval, int hexlen){ int cnt;hexStr[hexlen] = 0;for(cnt = hexlen - 1; cnt...
  • 璋甯繖鎸囧嚭C璇█绋嬪簭鐨勯敊璇晩,200鍒嗙瓟璋
    绛旓細{ int i,j,a[17][21]={{0}},x[6]={1,1,0,1,0,1},count;char n;for(i=0;i<16;i++)//浣犳瘡娆¤緭鍏ラ兘蹇呴』鏄16浣嶏紝璁$畻缁撴灉鎵嶄笉浼氶敊 //鍗筹細涓嶅鍗佸叚浣嶇殑鍦ㄥ墠杈规坊鍔犻浂 //鑰屼笖i涓嶈兘绛変簬16 { scanf("%d",&a[0][i]);n=getchar();if(n=='\n')break;} for(i=0;i<...
  • 楂樻墜甯府蹇,璇烽棶涓涓16*16鐨勭偣闃电敤74hc595椹卞姩,74hc138鎺ュ垪,椤轰究璇...
    绛旓細鐢2涓138绾ц仈鎺у埗鍒楋紝2涓595锛屾瘡涓595鎺у埗2涓8x8鐨勭偣闃 鎴戞劅瑙杩欎釜绋嬪簭灏辨槸鏈绠鍗曠殑婊氬姩鏄剧ず鐨勭▼搴 浜 include <reg52.h> sbit STR=P3^2; //閿佸瓨 sbit SRCLK=P3^3; //鏃堕挓 sbit SDI= P3^5;//16脳16姹?unsigned char code hanzi1[][32]={ /*-- 鏂囧瓧: 瑕 --*/ /*-...
  • WIN10寮瑰嚭涓嶆敮鎸佺殑16浣嶅簲鐢绋嬪簭
    绛旓細娉ㄥ唽琛ㄤ慨鏀规柟娉曪細1銆佸湪鏅氳处鎴稢ortana鎼滅储鏍忚緭鍏egedit鍚庯紝閫夋嫨绗竴椤 2銆佸湪娉ㄥ唽琛ㄧ紪杈戝櫒涓畾浣嶅埌浠ヤ笅浣嶇疆锛氣淗KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System鈥 3銆佸湪鍙宠竟鎵惧埌FilterAdministratorToken锛屽弻鍑诲悗灏嗘暟鍊兼暟鎹敼涓衡1鈥濆悗鐐瑰嚮鈥滅‘瀹氣...
  • 扩展阅读:聊天对话回复神器 ... 哪个聊天回复神器免费 ... 免费回话聊天软件 ... 找人帮忙的最佳语言 ... 男生嘴笨不会跟女孩聊天 ... 免费拍照答题一秒出答案 ... 想让别人帮忙怎么说话 ... 想你了动图 ... 孩子磨磨蹭蹭不写作业怎么办 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网