能力值:
( LV2,RANK:10 )
|
-
-
2 楼
mov ah,ds:[bp+16h] 不知道你这个16h是哪来的应该<=7
inc di => add di,2
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
16H是为了循环是取到02H 24H和71H
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
终于找到错误的错误的原因了,还是太大意了,谢谢论坛的‘阿贵’的指点
下面我贴上错误原因和阿贵的另外一种方法方便遇到跟我一样问题的朋友观看:
第一个:mov bp,0应该放大循环外面,不然读取的颜色都是从0开始,难怪没颜色
第二个:mov ah,ds:[bp+16h] 应该改成mov ah,ds:[bp+10h]
正确程序:
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,0B800H
mov es,ax
mov ax,data
mov ds,ax
mov bx,720H
mov ax,stack
mov ss,ax
mov sp,10H
mov bp,0
mov cx,3
row: push cx
mov si,0
mov di,0
mov cx,16
column: mov al,ds:[si]
mov ah,ds:[bp+10h]
mov es:[bx+di],ax
inc si
add di,2
loop column
add bp,2
add bx,0A0H
pop cx
loop row
mov ax,4c00h
int 21h
code ends
end start
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
db 'welcome to masm!'0
|