|
主题 : : 实验10(1)请教高手 [待解决] |
回复[ 4次 ]
点击[ 437次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2007-12-06 10:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-09-29 20:49 |
assume cs:code
data segment
db 'welcome to masm!,0
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:push bx
push es
push cx
push si
mov ax,0b800h
mov es,ax
mov ax,0
mov ah,160
mul dh
mov bx,ax
mov ax,0
mov al,2
mul dl
dec ax
add bx,ax
mov al,cl
mov cx,0
s:mov cl,[si]
jcxz ok
mov ch,al
mov es:[bx],cx
inc si
add bx,2
jmp short s
ok:pop si
pop cx
pop es
pop bx
ret
code ends
end start
编译连接不上,我看了别人的程序,我也找不出我的程序问题出在那,求高手 | | |
|
|
|
|
[第1楼]
[ 回复时间:2007-12-06 11:11 ]
[引用]
[回复]
[ top ] | |
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21 |
什么叫编译连接不上啊?
出什么问题?
db 'welcome to masm!,0
这条语句少了一个单引号。编译肯定过不去。
但是好像程序还有问题吧,不能正常显示。
debug跟踪。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2007-12-08 09:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2007-09-29 20:49 |
我把单引号加上了,程序编译过去了,但一执行就跳出DOS,这是怎么回事啊
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:push bx
push es
push cx
push si
mov ax,0b800h
mov es,ax
mov ax,0
mov al,160
mul dh
mov bx,ax
mov ax,0
mov al,2
mul dl
dec ax
add bx,ax
mov al,cl
mov cx,0
s:mov cl,ds:[si]
jcxz ok
mov ch,al
mov word ptr es:[bx],cx
inc si
add bx,2
jmp short s
ok:pop si
pop cx
pop es
pop bx
ret
code ends
end start | | |
|
|
|
|
[第3楼]
[ 回复时间:2007-12-08 11:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-07-08 09:33 |
楼上使的是集成环境吧?我猜可能是集成环境的问题,因为我的集成环境就不能用了,我就没有管它~_~
直接用第四章讲的masm.exe和link.exe编译连接,没有问题。
不过程序有问题,显示的是一堆乱码。
首先一个问题是(不是显示'welcome to masm!'长度个乱码,说明你的循环有问题) jcxz ok 不能结束。---原因:cl有等于0的机会,但是ch一直保存的是al的值。
另一个问题可能就是行列计算后的数值问题了,如果在循环显示前(s:mov cl,ds:[si])把mov bx,0,则显示没有问题。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2007-12-08 11:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:50
信誉值:0
注册日期:2007-07-08 09:33 |
楼主可以用debug跟踪一下计算行列值的代码,看看是哪里计算错了。 | | |
|