|
主题 : : 实验九字符串显示问题 [已解决] |
回复[ 3次 ]
点击[ 316次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-08-26 16:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:2
注册日期:2009-08-13 10:23 |
实验九我好像还没搞懂什么意思!到底题目是要求我们将‘welcome to masm!’这句话分三次用不同的颜色全部显示出来,还是将其中的单词分别用不同的颜色显示?还有就是字符串是不是要求要一次性全部显示在一行,我的程序每次屏幕上只能显示一个字符,用t单步执行,跟着屏幕一起上翻,狂晕!还请各位高手帮忙解惑,感激不尽。下面附上程序
ssume cs:code,ds:date
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,47224
mov es,ax
mov ax,data
mov ds,ax
mov bx,64
mov si,0
mov cx,7
s: mov al,ds:[si]
mov ah,01000010b
mov word ptr es:[bx],ax
add bx,2
inc si
dec cx ;显示welcome
jcxz s1
jmp short s
s1:mov ah,11000010b
mov cx,2
s0:
mov al,ds:[si]
mov word ptr es:[bx],ax ; 显示to
inc si
add bx,2
jcxz s3
loop s0
s3:mov ah,01110001b
mov cx,7
s01:
mov al,ds:[si]
mov word ptr es:[bx],ax 显示masm!
inc si
add bx,2
loop s01
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-08-26 17:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:2
注册日期:2009-08-13 10:23 |
不好意思程序复制出现点错误
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,47224
mov es,ax
mov ax,data
mov ds,ax
mov bx,64
mov si,0
mov cx,7
s: mov al,ds:[si]
mov ah,01000010b
mov word ptr es:[bx],ax
add bx,2
inc si
dec cx ;显示welcome
jcxz s1
jmp short s
s1:mov ah,11000010b
mov cx,2
s0:
mov al,ds:[si]
mov word ptr es:[bx],ax ; 显示to
inc si
add bx,2
jcxz s3
loop s0
s3:mov ah,01110001b
mov cx,7
s01:
mov al,ds:[si]
mov word ptr es:[bx],ax ;显示masm!
inc si
add bx,2
loop s01
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-08-26 17:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:2
注册日期:2009-08-13 10:23 |
原来可以用g命令显示全行,改进后的程序
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,47224
mov es,ax
mov ax,data
mov ds,ax
mov bx,64
mov si,0
mov cx,7
s: mov al,ds:[si]
mov ah,01000010b
mov word ptr es:[bx],ax
add bx,2
inc si
dec cx
jcxz s1
jmp short s
s1:mov ah,11000010b
mov cx,2
s0:
mov al,ds:[si+1]
mov word ptr es:[bx+2],ax
inc si
add bx,2
jcxz s3
loop s0
s3:mov ah,01110001b
mov cx,5
s01:
mov al,ds:[si+2]
mov word ptr es:[bx+4],ax
inc si
add bx,2
loop s01
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-08-28 09:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:14
信誉值:2
注册日期:2009-08-13 10:23 |
此贴由 贴主 于 [ 2009-08-28 09:47 ] 结贴。 结贴原因:问题已解决 | | |
|