80x86 汇编编程:输出一个矩阵的左下三角部分
来源:互联网 发布:天猫淘宝商城正品 编辑:程序博客网 时间:2024/05/01 05:17
;要求将 1~36 的数字顺序保存在一个 6*6 矩阵中,然后输出这个矩阵的左下三角部分
;题目链接:http://zhidao.baidu.com/question/1540192905933283827.html
;做而论道编写的程序如下。
;======================================
N = 6 ;矩阵维数 N=(2~9)
DATA SEGMENT
NUM DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA, CS:CODE
START:
MOV AX, DATA
MOV DS, AX
LEA SI, NUM
MOV CL, 1
LOOP1:
MOV [SI], CL
INC SI
INC CL
CMP CL, N * N + 1 ;37
JNZ LOOP1
;-----------------------
MOV CX, 1
MOV SI, 0
LOOP2:
MOV BX, 0
LOOP3:
MOV AL, NUM[SI + BX]
MOV AH, 0
MOV DL, 10
DIV DL
MOV DL, AL
ADD DL, 30H
MOV DH, AH
MOV AH, 2
INT 21H
MOV DL, DH
ADD DL, 30H
INT 21H
MOV DL, 20H
INT 21H
;----------------
INC BX
CMP BX, CX
JNZ LOOP3
;----------------
MOV DL, 0DH
MOV AH, 2
INT 21H
MOV DL, 0AH
INT 21H
;----------------
ADD SI, N ;6
INC CX
CMP CX, N + 1 ;7
JNZ LOOP2
;-----------------------
MOV AH, 4CH
INT 21H
CODE ENDS
END START
;======================================
执行后,显示如下:
c:\masm510>MM
01
07 08
13 14 15
19 20 21 22
25 26 27 28 29
31 32 33 34 35 36
c:\masm510>MM
------------
N = 9 时,执行结果如下:
c:\masm510> MM
01
10 11
19 20 21
28 29 30 31
37 38 39 40 41
46 47 48 49 50 51
55 56 57 58 59 60 61
64 65 66 67 68 69 70 71
73 74 75 76 77 78 79 80 81
c:\masm510>
提问者评价:谢谢!
;======================================
做而论道编写的程序,具有通用性,矩阵维数在 2 至 9,都是可用的。
如果把显示部分扩充为三位,那就可以在 2 至 255 范围内使用。
有人说 6*6 的矩阵处理比较难,应该先编写 3*3 的。
呵呵,其实,他这就不懂了,矩阵不论大小,处理起来的难度,都是相同的。
至少在 3 维和 6 维之间,没有任何区别。
;======================================
- 80x86 汇编编程:输出一个矩阵的左下三角部分
- 以左下三角的形式输出杨辉三角形。
- 变换后矩阵右上三角元素和与左下三角元素和可能的最大差值
- 80x86汇编:怎么反向输出一个整数(如2347,输出7432)
- C++ 输出方阵的上三角部分
- 80x86汇编编程:把一串字符从键盘输入,然后逆序输出
- 80x86的汇编器
- 80x86汇编编程两题
- 80x86汇编语言编程:输入格雷码、输出对应的十进制数字
- 80x86 汇编语言编程:输出指定行数的星号
- 一个倒三角数字的输出
- 80x86汇编语言编程:两个矩阵相乘
- 80x86汇编编程:键入两个8进制数字,相加后以16进制输出
- 输出一个有趣的矩阵
- x86的汇编常识
- 80x86汇编编程:实现十进制或十六进制向二进制的转换
- 80x86汇编编程:在输入的字符串中查找关键字
- 80x86汇编编程:显示数据区字符串中第一个空格的位置
- 查看端口连接的ip地址
- C51 语言编程:单片机与 PC 串口通信程序
- 51 单片机串口的扩充方法
- 七.学习数据结构之树
- Maven对重复依赖的解决方案
- 80x86 汇编编程:输出一个矩阵的左下三角部分
- 51 汇编语言编程:8个按键控制8个LED
- c++高精度模板
- 51 汇编语言编程:求最大、最小值的乘积
- 用普通 I/O 口模拟标准 UART 串行口
- 用80x86汇编 求约瑟夫环问题
- 80x86 汇编语言编程:求和
- 80x86 汇编语言编程:输入字符串,排序输出
- 80x86 汇编语言编程:统计数组每个元素中 1 的个数