ONE: ;计算J*(J-1) ;累加 ;输出结果 CODE START
4.31 编写程序,输入N,输出如下矩阵(设N=5)
1 1 1 1 1 2 2 2 2 1 3 3 3 2 1 4 4 3 2 1 5 4 3 2 1 答:设I为行(1~5), J为列(1~5),则(I, J)位置上的数据为:I>(6-J)? I: 6-J 。
INCLUDE YLIB.H CODE SEGMENT
ASSUME CS: CODE START:
CALL CRLF MOV SI, 1 ;SI为行号
ROW: MOV CX, 5 ;CX为6-列号
COL: CMP SI, CX ;判断当前位置 JB UP DOWN: MOV AX, CX ;下半三角,取6-列号 JMP OUTPUT UP: MOV AX, SI ;上半三角,取行号 OUTPUT: MOV DX, -1 CALL WRITEDEC ;输出一个数据 LOOP COL CALL CRLF ;结束本行 INC SI ;修改行号 CMP SI, 5 JBE ROW ;未满5行,继续 MOV AX, 4C00H
XOR
MOV MOV DEC MUL ADD LOOP LEA MOV CALL CALL MOV INT ENDS END
BX, BX AX, CX SI, AX SI SI BX, AX ONE
DX, MESS2 AX, BX WRITEDEC CRLF AX, 4C00H 21H
;BX用作累加器
CODE INT
ENDS END
21H START
相关推荐: