注册 登录
编程论坛 汇编论坛

[求助]用循环完成在屏幕显示“九九表”的功能

静思 发布于 2006-05-21 20:19, 1184 次点击
麻烦哪位看一下
怎么才能在屏幕上用循环结构完成"九九表"的功能
4 回复
#2
公子吕2006-05-22 12:10

一个嵌套循环

numberA db 0 ;乘数
numberB db 0 ;被乘数

mov ax,0
mov cl,10

againA:
inc numberA
cmp cl,numberA
jz exit
againB:
inc numberB
cmp cl,numberB
jz againA

print:
mov al,numberA
add al,30h
mov dl,al
mov ah,2
int 21h ;print numberA
mov dl,'*'
mov ah,2
int 21h ;print '*'
mov al,numberB
add al,30h
mov dl,al
mov ah,2
int 21h ;print numberB
mov dl,'='
mov ah,2
int 21h ;print '='
call printNum ;print product ,to pass over the procedure.
mov dl,','
mov ah,2
int 21h
jmp againB

[此贴子已经被作者于2006-5-22 12:12:25编辑过]

#3
静思2006-05-22 19:02
以下是引用公子吕在2006-5-22 12:10:00的发言:

一个嵌套循环

numberA db 0 ;乘数
numberB db 0 ;被乘数

mov ax,0
mov cl,10

againA:
inc numberA
cmp cl,numberA
jz exit; 这是什么意思?
againB:
inc numberB
cmp cl,numberB
jz againA

print:
mov al,numberA
add al,30h
mov dl,al
mov ah,2
int 21h ;print numberA
mov dl,'*'
mov ah,2
int 21h ;print '*'
mov al,numberB
add al,30h
mov dl,al
mov ah,2
int 21h ;print numberB
mov dl,'='
mov ah,2
int 21h ;print '='
call printNum ;print product ,to pass over the procedure.;本程序中没有编写printNum子程序,怎么调用程序?
mov dl,','
mov ah,2
int 21h
jmp againB

#4
公子吕2006-05-22 20:42

嵌套循环里,numberA作为外层循环哨兵,numberB作为内层循环哨兵,cmp cl,numberA 乘数等于10 转exit退出,程序里我没有给出exit,显然exit是跟在上面代码最后面、那个打印乘积的部分我都说了省略嘛,其实就是打印乘积,因为要把两位数打印有点麻烦,所以我没有完全实现这个代码,你可以参考我在kill444的“课程设计”帖子里写的子程序、

#5
abd665432006-05-27 21:41
呵呵,让本公子来研究研究。看集电影先
1