汇编语言 求一个两位数的平方值的十位数

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:17:04
编制并调试一个简单程序:从键盘读入一个两位数(操作人员按键时保证按下的是数字键),输出它的平方值的十位数字。
例如:>89(输入)
2(输出)
PS:我现在会在代码段里用寄存器存储和计算 但是这道题是不是要用到数据段 输出用int 21h 的9号子命令?
输入用int 21h 的10号子命令?
关键是算法~
告诉我算法和注意事项我可以自己编出来滴~
;平方先除以100,得到的余数除以10,取商
data segment
x db ?
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
lea dx,x ;段及偏移

mov ah,0ah
int 21h ;输入字符串

mov al,x
mul al ;求平方

mov bl,100
div bl
mov al,ah
mov bl,10
div bl

mov dl,al
mov ah,2
int 21h

mov ah,4ch
int 21h
code ends
end start

这种做法不行 为什么

;程序已经调试好了,可以用的.你的程序主要在输入的时候有些问题.对于0A号功能调用没有用好.下面的程序已经满足了你的题目要求。

data segment
disp db 'please input $'
disp1 db 'The result is : $'
data ends
code segment
main proc far
assume cs:code
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov bx,0
mov cx,2
lea dx,disp
mov ah,9
int 21h
input:
push cx
mov ah,1
int 21h
sub al,30h
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
pop cx
loop input
mov dl,0ah
mov ah,2
int 21h
mov al,0dh
mov dh,2
int 21h
out_1:
mov ax,bx
mul ax
mov cx,1000d
mov dx,0
div cx
mov ax,dx
mov cx,100d
mov dx,0
div cx
mov ax,dx
mov cx,10d
mov dx,0
div cx
mov dx,0
mov d

汇编语言 求一个两位数的平方值的十位数 用汇编语言求一个数的平方值 一个两位数,个位数字比十位数字大3,个位数字的平方刚好等于这个两位数,求这个两位数? 一个两位数,个位数字比十位数字大3.个位数字的平方刚好等于这个两位数,求这个两位数 一个两位数AB的平方是一个三位数XYZ,如果将这个两位数变成BA,而BA的平方是ZYX,求两位数和三位数 一个两位数,(十位和个位)的立方等于这个两位数的平方,这个两位数是几? 有个四位数,前两位数相等,后两位数相等,其又是一个整数的平方,求这个数,最好能给具体步骤和编程哦 一个两位数等于其个位数字的平方与十位数字之和,这个两位数是多少? 一个两位数等于其个位数字的平方与十位数之和,这个两位数是多少 一个两位数等于其个位数字的平方与十位数字之和,这个两位数是几?