-
-
[旧帖]
[求助]求教这个我照着写的程序不知道哪里错了
0.00雪花
-
发表于:
2012-5-24 22:33
1371
-
[旧帖] [求助]求教这个我照着写的程序不知道哪里错了
0.00雪花
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 cx
push si
mov al ,0A0h;160个字节=0A N个字节内,则第N行
dec dh ;行号在显存中下标从0开始,所以减1
mul dh ;相当于从第(n-1)*0A0个BYTE单元开始
mov bx,ax ;第个字符占两个字节
mov al,2 ;列号在显存中下从0开始,以因为偶字节放字符,所以-2
mul dl
sub ax,2
add bx,ax ;此时BX中存放的是行与列号的偏移地址
mov ax, 0b800h;显存开始的地址
mov es,ax
mov di,0 ;显存偏移
mov al,cl ;CL 是存放着色的参数,这时候AL存放着色了
mov ch,0 ;下边CX存放的是每次准备处理的字符
s: mov cl,ds:[si]
jcxz ok
mov es:[bx+di],cl
mov es:[bx+di+1],al
inc si
add di,2
jmp short s
OK:
pop si
pop cx
ret
code ends
end start
大家帮下忙,编译不通过
error A2004: symbol type conflict
warning A4023: with /coff switch, leading underscore required for start address : start
[课程]Linux pwn 探索篇!