急!那位大哥,请编写汇编程序,将数字码(0-9)转换成对应的ASCII代码!!!!

sabbbin 2005-09-21 01:10:47
谢谢各位!!!!着急
...全文
2526 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanming_wolf 2005-10-10
  • 打赏
  • 举报
回复
回复ly ring 良好的编程习惯,向你学习!
robin_wan 2005-10-09
  • 打赏
  • 举报
回复
name "数字码(0-9)转换成对应的ASCII代码"

ORG 100H
MOV CX,10
;
MOV AL,30H
LOP:
MOV DL,AL
MOV AH,02H
INT 21H
ADD AL,1
LOOP LOP
;
MOV AH,01H
INT 21H
;PRESS ANY KEY TO EXIT
;
HLT
魔芋 2005-10-08
  • 打赏
  • 举报
回复
.data
HEX_Table db '0123456789ABCDEF'
.text
... ;根据数字+hex_table查询到字符
jiahu0215178 2005-10-08
  • 打赏
  • 举报
回复
上面是谁写的程序,没学过汇编吗/
怎么写这么多,cpu 执行你这样一个小的程序效率太差.
我啃 2005-10-06
  • 打赏
  • 举报
回复
原理很简单,输入一个数值范围为0-9
则数值+'0'的ASCII码就是对应的ASCII码
ly_ring 2005-10-05
  • 打赏
  • 举报
回复
虽然,有点乱。但可以看,见笑了。
ly_ring 2005-10-05
  • 打赏
  • 举报
回复
; ===========================
; = my first asm programmer
; ===========================

data segment

count db ?
addr dw ?
Input db ?
MaHex_word db 'ABCDEF' ;A=41h
MiHex_word db 'abcdef' ;a=61h
Instring db 'Input Symbol = $';,0dh,0ah
Outstring db 'Output Binary = $';,0dh,0ah
Outcount db 'Out 0 and 1 count = $'
Nextsymbol db 'Next symbol $'
data ends

; ---------------------------

code segment
assume cs:code,ds:data,es:nothing,ss:nothing

start:
push ds
sub ax,ax
push ax
; +++++++++++++++++++++++++++
; move data segment address to ds address

mov ax,data
mov ds,ax

; +++++++++++++++++++++++++++
; input symbol
;lea bx,Instring
again:
mov ah,09h
lea dx,Instring
int 21h
mov ah,1h
;mov dl,0ffh
int 21h
cmp al,1bh
jz Point_end
cmp al,1bh
jnz Nex_0
Point_end:
jmp near ptr O_end
Nex_0:
push ax
mov dl,0dh
mov ah,2h
int 21h
mov dl,0ah
mov ah,2h
int 21h
pop ax
; +++++++++++++++++++++++++++

mov bx,0h
push bx
cmp al,46h
jb Max
cmp al,61h
jnb Min
; +++++++++++++++++++++++++++++++
Max:
lea si,MaHex_word
Rma:
cmp al,[si]
je abb
inc si
jmp Rma

; +++++++++++++++++++++++++++++++
Min:
lea si,MiHex_word
Rmi:
cmp al,[si]
je abb
inc si
jmp Rmi

; +++++++++++++++++++++++++++++++

abb:
pop bx
mov Input,al
lea bx,Input
mov ax,0
mov addr,bx
mov bx,addr
mov bx,[bx]
;mov ax,addr
;mov bx,:[ax]
;mov ax,0

; +++++++++++++++++++++++++++
push dx
mov ch,8
mov cl,1h
lea dx,Outstring
mov ah,09h
int 21h
pop dx
rotate:
;push bx
;and bl,01h
;cmp bl,01h

rol bl,cl
push bx
and bl,01h
push ax
;mov ah,09h
;push dx
;lea bx,MiHex_word
;int 21h
mov ah,2h
mov dl,bl
add dl,30h
int 21h
pop ax
cmp bl,1h
jz Addal
RoR_a:

pop bx
;ror bl,cl
;push bx
;and bl,01h
;cmp bl,01h
;je Add_address
;pop bx
dec ch
cmp ch,0h
je Dis
jne rotate


; +++++++++++++++++++++++++++
Addal:
;push ax

add count,01h

;pop bx
;dec ch
;cmp ch,0h
;je Dis
;jne rotate
jmp RoR_a
; +++++++++++++++++++++++++++
Dis:
mov dl,0dh
mov ah,2h
int 21h
mov dl,0ah
mov ah,2h
int 21h
lea dx,Outcount
mov ah,09h
int 21h
mov ah,2h
mov dl,[count]
add dl,30h
int 21h

mov dl,0dh
int 21h
mov dl,0ah
int 21h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
lea dx,Nextsymbol
mov ah,09h
int 21h

; +++++++++++++++++++++++++++

;pop ax
;pop ds
mov count,0
jmp again
O_end:
pop ax
pop ds
mov ah,4ch
int 21h
code ends
end start

smzh8 2005-09-28
  • 打赏
  • 举报
回复
0-9转ascii码原理:x未知数 x-0+48的值就是ASCII码值
xilp 2005-09-27
  • 打赏
  • 举报
回复
mov al,3 ;以3为例
add al,30
如果是4就
mov al,4
add al,30

因为0-9正好对应ascii中的30h-39h,(1是31h,2是32h..)所以只要加上30就可以了.
jinweifu 2005-09-25
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4287/4287389.xml?temp=.6545526
huangwei_d107 2005-09-24
  • 打赏
  • 举报
回复
关注中!!
zhxk 2005-09-22
  • 打赏
  • 举报
回复
MOV AL,0
ADD AL,30H

excuseser 2005-09-21
  • 打赏
  • 举报
回复
MOV AL,0
ADD AL,30H
firstrose 2005-09-21
  • 打赏
  • 举报
回复
MOV AL,'0'
ADD AL,30H
DragonBill 2005-09-21
  • 打赏
  • 举报
回复
MOV BL, 0
MOV CX, 10
LAB:
ADD BL, 30

MOV AH, 02H
MOV AL, BL
INT 21H

INC BL

LOOP LAB
wjk302 2005-09-21
  • 打赏
  • 举报
回复
查表法也可以

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧