当前位置: 代码迷 >> 汇编语言 >> 小弟我想写个程序,麻烦高手帮忙
  详细解决方案

小弟我想写个程序,麻烦高手帮忙

热度:174   发布时间:2016-05-02 04:43:22.0
我想写个程序,麻烦高手帮忙。
比如说这个mov ax,0
我想用汇编写一个程序,能显示ax中0的ascii码,怎么写?
------解决方案--------------------
我以前写的存电脑里,copy出来供楼主参考
data segment
zifu dw 4567h  ;设置1个字,按ascii码重新输入
data ends
assume cs:code,ds:data
code segment
begin:
mov ax,data
mov ds,ax
mov si,0
mov dx,[si]  ;将data段的内容送给dx
call htascs  ;调用子程序,开始讲2进制进行转换为ascii码重新写入
mov ax,4c00h
int 21h

htascs proc near
mov cx,4
htascs1:
rol dx,1
rol dx,1
rol dx,1
rol dx,1   ;循环右移4次,将最高位的4位转移到最低位的4位
mov al,dl  ;低字部分给al
call htoasc   ;调用子程序开始进行转换
mov [si],al ;将转化好的ascii码重新存入ds段
inc si      ;si自增一,以便下一个字符存入
loop htascs1 
ret
htascs endp

htoasc proc
and al,0fh  ;将al的高字部分屏蔽为0,将低位4位开始转换
add al,30h  ;+30h表示转化为ascii码
cmp al,39h  ;与ascii码数字最大符39(数字9)比较,判断是否数字或者是字母a-f
jbe htoasc1 ;如小于39,则是数字跳出,否则加7转化为字符a-f
add al,7
htoasc1:ret  ;跳到call hotasc下一句,继续执行
htoasc endp

code ends
end begin
  相关解决方案