FZU汇编上机考试综合程序设计-数组

本文介绍了如何用汇编语言编写子程序isQr来判断自然数与给定数q的相关性,并利用该子程序实现searchNotQrs来找出大于给定数m且与q无关的10个整数,最后通过output子程序将结果输出到显示器。
摘要由CSDN通过智能技术生成

题目:设qe(2,3,4,5,6,7,8,9},若自然数n的十进制表示法中某个位上的数为q,或n能被q整除,则称n是q相关的数,否则称n是与q无关的数。例如:自然数20与552是与5相关的数,而31是与5无关的数。请用汇编语言完成以下任务:

1.试编写子程序 isQr(n,q)判定自然数n是否与q相关,若n是与q相关,返回值等于1;否则,返回值等于0。
2.试利用子程序isQr 编写子程序 searchNotQrs(m,q,arr)找出大于自然数m且与q无关的10个整数,并将这10个数存在数组arr中。

3.试编写子程序outPut 将数组 Array输出到显示器。
4.编写一个主程序,调用searchNotQrs求出大于210419的10个与7无关的整数,并将这10个数存放在数组Array中;然后将数组Array中数输出到显示器程序中声明的变量如下:
DWORD 10 dup(?)
Array根据程序设计需要,可以在数据段中声明(定义)新变量。

include Irvine32.inc
.data
	array dword 10 dup (?)
	q dword 7
	p dword 10
	n dword ?
	pd dword ?
	m dword 210419
.code
main proc
	call searchnotqrs
	call output
exit
main endp
isqr proc
	;call writeint
	mov n,eax
	mov edx,0
look1:
	div q
	;mov eax,edx
	;call writeint
	cmp edx,0
	je ok
	mov eax,n
look2:
	mov edx,0
	div p
	cmp eax,0
	je notok
	cmp edx,q
	je ok
	jmp look2
ok:
	mov edx,1
	mov pd,edx
	jmp sc1
notok:
	mov edx,0
	mov pd,edx
	jmp sc1
sc1: 
	mov eax,pd
	;call writeint
	ret
isqr endp

searchnotqrs proc
	mov ecx,0
	mov esi,0
found1:
	cmp ecx,10
	je sc2
	inc m
	mov eax,m
	;call writeint
	call isqr
	cmp eax,0
	je found2
	jmp found1
found2:
	inc ecx
	mov eax,m
	mov [array+esi*4],eax
	inc esi
	jmp found1
sc2:
	ret
searchnotqrs endp

output proc
	mov esi,0
sc:
	mov eax,[array+esi*4]
	inc esi
	call writeint
	loop sc
	ret
output endp

end main

  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值