用汇编语言编写一个矩阵

矩阵图形如下:0123456123456023456013456012456012356012346012345... 矩阵图形如下:
0 1 2 3 4 5 6
1 2 3 4 5 6 0
2 3 4 5 6 0 1
3 4 5 6 0 1 2
4 5 6 0 1 2 3
5 6 0 1 2 3 4
6 0 1 2 3 4 5
展开
 我来答
百度网友1a4c3ca0d
2010-04-09 · TA获得超过2707个赞
知道大有可为答主
回答量:1449
采纳率:0%
帮助的人:1858万
展开全部
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START:
push cs
pop ds
mov ax,3
int 10h ;文本模式才有效
mov ax,0b800h
mov es,ax ;指向显存段址
mov bx,7 ;共7行
mov dx,2030h
mov di,(5*80+32)*2 ;起始位置5行32列
again:
mov ax,dx
mov cx,7 ;共7字
nx1:
mov es:[di],ah ;输出空格
inc di
inc di ;指向下一位置
stosb ;输出一个字符
inc di
inc al
cmp al,'7' ;逢7归0
jnz nx2
mov al,'0'
nx2:
loop nx1
dec bx
jz quit
add di,(80-14)*2 ;转下一行
inc dl
jmp again
quit:
mov ah,1
int 21h ;暂停
mov ah,4ch
int 21h ;返回DOS

CODE ENDS
END START
杨_刘
2010-04-09 · TA获得超过806个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:325万
展开全部
;------矩阵输出-------
;----0 1 2 3 4 5 6----
;----1 2 3 4 5 6 0----
;----2 3 4 5 6 0 1----
;----3 4 5 6 0 1 2----
;----4 5 6 0 1 2 3----
;----5 6 0 1 2 3 4----
;----6 0 1 2 3 4 5----
;---------------------

data segment
str db "0123456$"
temp db ?
data ends

code segment
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax

mov ax,data
mov ds,ax
;输出第一行
call output
call crlf;回车换行

;循环输出后六行
;基本思想
;针对将要输出的一行,将该行的第一个数存于temp,然后从第二个数开始依次前移一位
;再将temp放到最后的位置,此时再将该行输出
;然后再对第二行做同样的变化、输出
;循环六次就可以输出后六行
mov bl,6;控制输出六次
loop2:
mov al,str[0];将第一个数存于temp
mov temp,al
mov cx,6
mov si,0
loop3:
mov al,str[si+1];循环前移
mov str[si],al
add si,1
loop loop3
mov al,temp
mov str[6],al;再将temp(即第一个数)存于最后位置
call output;将该行输出
call crlf;回车换行
sub bl,1
cmp bl,0
jg loop2

mov ah,4ch
int 21h

space proc near;空格输出子程序
mov dl,20h
mov ah,02h
int 21h
ret
space endp

crlf proc near ;回车换行子程序
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp

output proc near;输出字符串的子程序
mov cx,7
mov si,0
loop1:
mov dl,str[si]
mov ah,02h
int 21h
call space;控制空格输出
add si,1
loop loop1
ret
output endp

code ends
end start
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式