注册 登录
编程论坛 汇编论坛

[新手提问]关于转换成ASCII的问题.

尛喆 发布于 2011-09-08 17:43, 443 次点击
废话不多说,直接上东西
 
在所定义的字节数字中找到第一个非0数据,并显示输出其所在数组的下标.
 data segment
 array db 0,0,0,16,0,88,72,0,35,42,99
 count equ $-array
 data ends
 code segment
 assume cs:code,ds:data
 start:mov ax,data
 mov da,ax      
 mov cx,count      
 mov di,-1 again:inc di      
 cmp array[di],0      
 loopz again      
 mov dx,di    di送给dx      
 or di,30h   
后面还有,不管了。这里是di与30h 相“或”怎么就能转换成ASC码了呢?
  ...
  ...
 我是新手啊,请大侠们帮帮忙,解释一下!谢谢啊!


[ 本帖最后由 尛喆 于 2011-9-8 17:44 编辑 ]
2 回复
#2
尛喆2011-09-08 18:06
我等!
#3
ly07912011-09-11 16:53
    00000101             05h
or  00110000             30h
-------------------------------
    00110101             35h
35h  对应的就是ASC码的   5

你将  0-9的数字写成二进制和对应的   asc 码比较   可以发现  就是位4和位5不同,要将数字转化为ASC码,只需要位4位5置1就可以了

1