【正文】
mov ax,2509h int 21h pop ds in al,21h push ax and al,0fdh out 21h,al mov counter,0 stistart1: cmp counter,10 jb start1 cli pop ax out 21h,al pop dx pop ds mov ax,2509h int 21h sti mov ax,4c00h int 21h new08h proc sti push ax push bx push ds mov ax,@data mov ds,ax inc counter mov si,offset intmsg call dpstri mov al,20h out 20h,al pop ds pop bx pop ax iretnew08h endpdpstri proc push ax push bxdps1: lodsb cmp al,0 jz dps2 mov bx,0 mov ah,0eh int 10h jmp dps1dps2: pop bx pop ax retdpstri endp mov ax,4c00h int 21h end start截圖結(jié)果:五、 實(shí)驗(yàn)總結(jié)通過這次實(shí)驗(yàn)我熟練了完整的形成過個(gè)可運(yùn)行程序的過程。 D:\MASMDebug Enter,使用U命令反匯編 U 從程序存放的位置開始Enter,觀察數(shù)據(jù)段中相應(yīng)位置的值D 數(shù)據(jù)段:偏移地址 Enter,使用G 命令執(zhí)行,觀察數(shù)據(jù)段中相應(yīng)位置的值D 數(shù)據(jù)段:偏移地址 Enter通過代碼一了解到了DOS中幾個(gè)特殊的功能號(hào)。通過程序二理解了怎樣編寫獲取程序入口地址和設(shè)置中斷程序入口地址的匯編語句。通過實(shí)驗(yàn)三四深入理解了中斷服務(wù)程序。在實(shí)驗(yàn)過程中也遇到了小的問題,但是通過老師和同學(xué)的幫助都一一解決了。 10