题目要求
用循环程序,显示乘法表。要求输入 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 ENDSSTACKS SEGMENT;此处输入堆栈段代码
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AX;此处输入代码段代码mov ah, 9lea dx, msgint 21hmov ah, 1int 21hcmp al, '1'jb invalidInputcmp al, '9'ja invalidInputsub al, '0'mov bl, almov cl, 1mov ch, 1outter:MOV DL, 0DH ;回车换行MOV AH, 02INT 21HMOV DL, 0AHMOV AH, 02INT 21Hinnner:mov ah, 2mov dl, ' 'int 21hadd dl, cladd dl, 16int 21hmov dl, 'x'int 21hmov dl, chadd dl, '0'int 21hmov dl, '='int 21hmov al, clmul chmov dl, 10div dlmov dl, almov dh, ahmov ah, 2add dl, '0'int 21hmov dl, dhadd dl, '0'int 21hinc clcmp cl, chjle innnerinc chmov cl, 1cmp ch, bljle outtermov ah, 4chint 21hinvalidInput:mov ah, 9lea dx, newlineint 21hmov ah, 9lea dx, msgint 21h
CODES ENDSEND START