欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编-判断一个两位十进制数是否为平方数

程序员文章站 2024-03-01 13:25:52
...

汇编-判断一个两位十进制数是否为平方数

思路
这道题的思路非常简单,枚举100以内的平方数,再判断是否与输入的数相等
但用汇编语言实现可能会有一些复杂

代码

data segment
x dw ?
s1 db ' is a square number$' 
s2 db ' is not a square number$'
data ends
code segment
  assume cs:code,ds:data
  main proc far
start:
  mov ax,data
  mov ds,ax
  mov ah,01h//输入这个数的十位
  int 21h
  sub al,30h
  mov bl,10
  mul bl
  mov x,ax//注意x是字类型
  mov ah,01h//输入这个数的个位
  int 21h
  sub al,30h
  mov ah,0
  add x,ax//注意x是字类型
  mov cx,9//循环次数,同时用来枚举平方数
L1:mov al,cl
  mul al//求al中数的平方
  mov ah,0
  cmp x,ax//注意x是字类型
  jz L2
  loop L1
  mov ah,09h//输出字符串s2
  lea dx,s2     
  int 21h
  jmp L3
L2:mov ah,09h//输出字符串s1
  lea dx,s1
  int 21h
L3:mov ax,4c00h
  int 21h
  main endp
code ends
end start

运行结果
汇编-判断一个两位十进制数是否为平方数