|
主题 : : 实验9,我写的代码,跪求高手检验 [已解决] |
回复[ 9次 ]
点击[ 368次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-12-30 19:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
assume cs:code,ds:data,ss:stack
data segment
db'welcome to masm!'
db 02H,24H,71H
data ends
stack segment
dw 8 dup(0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10H
mov ax,0b872H
mov cx,3
s: mov si,0
mov di,0
push cx
push ax
mov es,ax
mov cx,16
s1: mov al,ds:[si]
mov es:[di],al
inc si
add di,2
loop s1
mov si,0
mov di,1
mov cx,16
s2: mov al,ds:16[si]
mov es:[di],al
add di,2
loop s2
pop ax
pop cx
add ax,0ah
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-12-30 22:13 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第2楼]
[ 回复时间:2011-12-31 12:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
谢谢帮我检查,可是为什么我的电脑就是不显示那三行,而且b872:0000那一段内存数值没有发生变化,也就是说根本没有把数据传递到那一段内存中 | | |
|
|
|
|
[第3楼]
[ 回复时间:2011-12-31 20:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
|
|
|
|
|
[第4楼]
[ 回复时间:2011-12-31 20:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
你的程序可以再精简,字符和颜色值可以在一个循环中一起赋值,没有必要写两个循环。还有,显存段地址可以在大循环外赋一次值就可以了,段地址一直不变,偏移地址可以用一个偏移地址寄存器定位,显示到下一行的时候,让偏移地址寄存器加上160就可以了。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2012-01-01 20:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
|
|
|
|
|
[第6楼]
[ 回复时间:2012-01-01 20:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
Object filename [94.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
50068 + 415196 Bytes symbol space free
0 Warning Errors
0 Severe Errors
E:\try>link
Microsoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved.
Object Modules [.OBJ]: 94
Run File [94.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment
E:\try>94.exe
E:\try>94.exe
是这样运行吗? | | |
|
|
|
|
[第7楼]
[ 回复时间:2012-01-01 22:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51 |
操作应该是没问题。你显存的地址写的大了,显存段地址是b800h,偏移地址是从0到4000. | | |
|
|
|
|
[第8楼]
[ 回复时间:2012-01-02 12:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
|
|
|
|
|
[第9楼]
[ 回复时间:2012-01-02 12:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:8
注册日期:2011-12-24 15:22 |
此贴由 贴主 于 [ 2012-01-02 12:16 ] 结贴。 结贴原因:问题已解决 | | |