assume cs:code,ds:data
data segment
db 'welcome to asm',0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov dh,10
mov dl,3
mov cl,42h
call str_show
mov ax,4c00h
int 21h
;入口參數dh行號 dl列號 cl 顏色
;ds:si指向首地址
str_show:push ax
push bx
push cx
push dx
push si
push es
mov ax,0B800h
mov es,ax
sub dh,1
sub dl,1
mov al,160
mul dh
push ax
mov al,2
mul dl
pop bx
add bx,ax
s: push cx
mov ch,0
mov cl,[si]
jcxz ok
mov es:[bx],cl
pop cx
mov es:[bx+1],cl
add bx,2
inc si
jmp short s
ok:pop es
pop si
pop dx
pop cx
pop bx
pop ax
ret
code ends
end start
代碼功能歸根結底不是別人幫自己看或講解或注釋出來的;而是被自己靜下心來花足夠長的時間和精力親自動手單步或設斷點或對執行到某步獲得的中間結果顯示或寫到日志文件中一步一步分析出來的。
提醒:再牛×的老師也無法代替學生自己領悟和上廁所!
單步調試和設斷點調試(DoxBox下使用TurboDebug單步調試。)是程序員必須掌握的技能之一。