哪位给翻译一下这段代码 是用汇编语言写的,谢谢

谁能给逐句翻译一下这段代码实现的功能是:设从键盘输入的十进制ASCII已存放起始地址CS:150H单元内,把它转为BCD码,再分别存入起始地址为CS:15AH单元内,若输... 谁能给逐句翻译一下
这段代码实现的功能是:
设从键盘输入的十进制ASCII已存放起始地址CS:150H单元内,把它转为BCD码,再分别存入起始地址为CS:15AH单元内,若输入不是十进制数的ASCII码,则对应的存放结果单元的内容为 FF。
程序中还有点错误 麻烦给修改修改

code segment
assume cs:code
start: push cs
pop ds

mov ah,9
int 21h
mov si,150h ;十进制ASCII存于1500H起单元
mov di,15ah ;BCD后再存于15AH起内存
mov cx,20 ;只够输入20个字符
T0:mov ah,1
int 21h
cmp al,'0'
jb T1
cmp al,'9'
ja T1
mov [si],al
sub al,30h
mov [di],al
jmp T2
T1:mov al,0ffh
mov [si],al
mov [di],al
T2:inc si
inc di
T3:loop T0
mov ah,4ch
int 21h

code ends
end start

回答的好了 再加悬赏分吧
在这里先谢谢了......
T1:mov al,0ffh
T1:mov al,0ffh什么意思?

tips 是什么变量?

cmp al,'0'
jb T1
cmp al,'9'
ja T1
是怎么执行的?
展开
 我来答
百度网友1a4c3ca0d
2009-06-10 · TA获得超过2707个赞
知道大有可为答主
回答量:1449
采纳率:0%
帮助的人:1850万
展开全部
code segment
assume cs:code
ORG 100H
start:
push cs
pop ds
LEA DX,mes
mov ah,9
int 21h
mov si,150h ;十进制ASCII存于150H起单元
mov di,15ah ;BCD后再存于15AH起内存
mov cx,20 ;只够输入20个字符
T0:
mov ah,1
int 21h
cmp al,'0'
jb T1
cmp al,'9'
ja T1
mov [si],al
sub al,30h ;转换为BCD码
mov [di],al ;存入CS:[15AH]
jmp T2
T1:mov al,0ffh ;不是0~9,存入FF
mov [si],al
mov [di],al
T2:inc si
inc di
T3:loop T0
mov ah,4ch
int 21h
mes db 'Input a Number: $'
code ends
end start
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式