标题:新手求助:关于如何输出字符ASCII码的问题
只看楼主
oke00
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-9-19
结帖率:100%
已结贴  问题点数:0 回复次数:3 
新手求助:关于如何输出字符ASCII码的问题
code segment
     assume cs:code
start:mov ah,07h
      int 21h
      mov cx,8
again:rol al,1
      mov bl,al
      and al,1h
      add al,30h
      mov dl,al
      mov ah,02h
      int 21h
      mov al,bl
      loop again
mov ah,4ch
int 21h
code ends
     end start

这段代码中的 and al,1h  add al,30h 为何先要屏蔽al的最高位然后再加30h,希望能解释一下原因...

受这段代码的启发我写下了以下东西,不过不能工作只显示0000 00000
code segment
    assume cs:code
start:
    mov ah,07
    int 21H
    mov cx,8
LP:
rol al,1
jc D1
mov dl,30H
jmp OUTP
D1:mov dl,31H
OUTP: mov ah,2
int 21H
loop LP
mov ah,4ch
int 21H
code ends
end start   

     
搜索更多相关主题的帖子: 字符 输出 ASCII 
2009-11-04 20:24
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
得分:0 
这个能输出assci码么?我输入进去后输出怎么不对????
2009-11-06 08:42
xiaobinkitty
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2009-7-9
得分:20 
不是屏蔽最高位,是取最高位。0和1ASCII码就是30H和31H啊,你输出0和1自然要加30H。
2009-11-06 11:01
oke00
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-9-19
得分:0 
回二楼:输出的ascii码为16进制





[ 本帖最后由 oke00 于 2009-11-9 15:57 编辑 ]
2009-11-09 12:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291043-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061203 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved