哪位给翻译一下这段代码 是用汇编语言写的,谢谢
谁能给逐句翻译一下这段代码实现的功能是:设从键盘输入的十进制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
是怎么执行的? 展开
这段代码实现的功能是:
设从键盘输入的十进制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
是怎么执行的? 展开
1个回答
展开全部
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询