北工大汇编——循环程序设计

题目要求

用循环程序,显示乘法表。要求输入 0-10 之间的数值a,显示1-a值的乘法表

在这里插入图片描述

程序代码

DATAS SEGMENT
    ;此处输入数据段代码 
    msg db 0ah, 0dh, "please input 1-10: $"
    strMul db "*", '$'
	strEqu db "=", '$'
	strSpace db " ", '$'
    newline db 0ah, 0dh, "$"  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
	MOV AX,DATAS
	MOV DS,AX
	;此处输入代码段代码
	mov ah, 9
	lea dx, msg
	int 21h
	
	mov ah, 1
	int 21h
	
	cmp al, '1'
	jb invalidInput
	cmp al, '9'
	ja invalidInput
	
	sub al, '0'
	
	mov bl, al
	
	mov cl, 1
	mov ch, 1
	
	outter:
	
	MOV DL, 0DH ;回车换行
	MOV AH, 02
	INT 21H
	MOV DL, 0AH
	MOV AH, 02
	INT 21H
	
		innner:
		mov ah, 2
		mov dl, ' '
		int 21h
		
		add dl, cl
		add dl, 16
		int 21h
	
		mov dl, 'x'
		int 21h
		
		mov dl, ch
		add dl, '0'
		int 21h
		
		mov dl, '='
		int 21h
		
		mov al, cl
		mul ch
		mov dl, 10
		div dl
		mov dl, al
		mov dh, ah
		mov ah, 2
		add dl, '0'
		int 21h
		mov dl, dh
		add dl, '0'
		int 21h
		
		inc cl
		cmp cl, ch
		jle innner
	
	inc ch
	mov cl, 1
	cmp ch, bl
	jle outter
	
	mov ah, 4ch
	int 21h
	
	invalidInput:
	mov ah, 9
	lea dx, newline
	int 21h
	
	mov ah, 9
	lea dx, msg
	int 21h
CODES ENDS
    END START



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值