汇编程序题:从键盘输入0-9中任一自然数X,求其立方值
从键盘输入0-9中任一自然数X,求其立方值。如输入的字符不是0-9中某数字,则显示‘INPUTERROR’。...
从键盘输入0-9中任一自然数X,求其立方值。如输入的字符不是0-9中某数字,则显示‘INPUT ERROR’。
展开
2个回答
推荐于2017-12-16
展开全部
;X86汇编_求0-9立方,显示结果
; MASM5.0编译后,运行无误
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
Again:lea dx,Tips1
mov ah,9
int 21h ;显示提示
@In:mov ah,0
int 16h ;无回显输入
cmp al,1bh ;Esc退出程序
jz quit
cmp al,'0'
jb @Err
cmp al,'9';数据校验
jbe Q2
@Err:
mov ah,0eh
int 10h
lea dx,Err
jmp Q3
Q2:
mov X,al
sub al,'0'
mov dl,al
mul al
mul dl
lea si,Y
lea di,Z
mov cx,3
Q4:xor dx,dx
div word ptr [di]
or al,'0'
mov [si],al
inc si
inc di
inc di
mov ax,dx
loop Q4
lea dx,Result
Q3:
mov ah,9
int 21h
jmp Again
quit:
mov ah,4ch
int 21h
Err db 0dh,0ah,'INPUT ERROR!$'
Tips1 db 0dh,0ah,'Input(0-9),Esc to Quit: $'
Result db ' '
X db '0^3='
Y db '000$'
z dw 100,10,1
code ends
end start
; MASM5.0编译后,运行无误
code segment
assume cs:code,ds:code
org 100h
start:
push cs
pop ds
Again:lea dx,Tips1
mov ah,9
int 21h ;显示提示
@In:mov ah,0
int 16h ;无回显输入
cmp al,1bh ;Esc退出程序
jz quit
cmp al,'0'
jb @Err
cmp al,'9';数据校验
jbe Q2
@Err:
mov ah,0eh
int 10h
lea dx,Err
jmp Q3
Q2:
mov X,al
sub al,'0'
mov dl,al
mul al
mul dl
lea si,Y
lea di,Z
mov cx,3
Q4:xor dx,dx
div word ptr [di]
or al,'0'
mov [si],al
inc si
inc di
inc di
mov ax,dx
loop Q4
lea dx,Result
Q3:
mov ah,9
int 21h
jmp Again
quit:
mov ah,4ch
int 21h
Err db 0dh,0ah,'INPUT ERROR!$'
Tips1 db 0dh,0ah,'Input(0-9),Esc to Quit: $'
Result db ' '
X db '0^3='
Y db '000$'
z dw 100,10,1
code ends
end start
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |