| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:[求助]一个汇编程序 改错
只看楼主 加入收藏
jphuang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-28
收藏
 问题点数:0 回复次数:0 
[求助]一个汇编程序 改错

DATA SEGMENT ;数据段定义
INFORMATION DB "Please enter the matrix1!The array is 3*3!$" ;提示说明
SPACE DB 0DH,0AH,"$" ;换行
matrix1 db 9 dup(?),"$"
;MATRIX1 DB 9 DUP(?),"$" ;矩阵1
matrix2 db 9 dup(?),"$"
;MATRIX2 DB 9 DUP(?),"$" ;矩阵2
RESULT DB 9 DUP(?),"$" ;矩阵相乘结果
M1 DB 0DH,0AH,"The array1:$" ;提示信息
M2 DB 0DH,0AH,"The array2:$"
M3 DB 0DH,0AH,"Array1*Array2:$"
DATA ENDS
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA
start:mov ax,data
;START: MOV AX,DATA ;置DS段初值
MOV DS,AX
;MOV AX,A
SHOWINFORMATION:LEA DX,INFORMATION ;取信息提示地址偏移量
mov ah,9
;MOV AH,9 ;9号功能调用显示提示信息
INT 21H
LEA DX,SPACE ;换行
INT 21H

lea dx,m1
;LEA DX,M1 ;提示输入矩阵1
MOV AH,9
INT 21H
MOV CX,09H
MOV AH,1
mov bl,offset matrix1
;MOV BL,OFFSET MATRIX1 ;取矩阵1的偏移地址 (33)
input1:int 21
;INPUT1: INT 21 ;1号功能调用,用来输入数组数值
MOV BL,AL
INC BL
MOV AH,1
LOOP INPUT1
;LEA DX,M2 ;提示输入矩阵2 (40)
lea dx,m2
MOV AH,9
INT 21H
MOV CX,09H
MOV AH,1
;MOV BL,OFFSET MATRIX2 ;取矩阵2的偏移地址
;INPUT2: INT 21 ;2号功能调用,用来输入数组数值 (47)
mov bl,offset matrix2
input2:int 21
MOV BL,AL
INC BL
MOV AH,1
LOOP INPUT2

XOR AX,AX
MOV DL,OFFSET MATRIX1
MOV DH,OFFSET MATRIX2
MOV BH,OFFSET RESULT
MOV CX,03H
;CALL LINEMULCOLOUM ;调用矩阵1某行和矩阵2的列相乘子程序 (60)
call linemulcoloum
MOV DL,OFFSET MATRIX1+3
MOV DH,OFFSET MATRIX2
MOV BH,OFFSET RESULT+3
MOV CX,03H
CALL LINEMULCOLOUM
MOV DL,OFFSET MATRIX1+6
MOV DH,OFFSET MATRIX2
MOV BH,OFFSET RESULT+6
MOV CX,03H
CALL LINEMULCOLOUM

LEA DX,M1 ;显示矩阵信息以及相乘后的结果
MOV AH,9
INT 21H
LEA DX,MATRIX1
MOV AH,9
INT 21H
LEA DX,M2
MOV AH,9
INT 21H
LEA DX,MATRIX2
MOV AH,9
INT 21H
LEA DX,M3
MOV AH,9
INT 21H
LEA DX,RESULT
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
LINEMULCOLOUM PROC NEAR ;矩阵相乘子程序
ssss: PUSH CX ; (94)
MOV CX,3 ;设置循环次数
MOV AL,[DL] ;;取矩阵1的偏移地址
MOV BL,[DH] ;;取矩阵2的偏移地址
PUSH DX ;数值进栈保存
;AGAIN: IMUL BL ;矩阵1的行和矩阵2的列相乘 (99)
again:imul bl
ADD DX,AX
MOV BH,[DX]
POP DX
MOV AH,DH
ADD AH,03H
MOV BL,[AH]
ADD DL,01H
MOV AL,[DL]
PUSH DX
LOOP AGAIN
POP DX
SUB DL,03H
ADD BH,01H
POP CX
LOOP ssss
EXIT: ENDP
CODE ENDS
END START


搜索更多相关主题的帖子: 汇编程序 改错 
2006-12-28 18:10
快速回复:[求助]一个汇编程序 改错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018166 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved