1. 程式人生 > >彙編小程式之向螢幕中列印內容

彙編小程式之向螢幕中列印內容

其他的一些內容省略,直接來程式的主體

     ;名稱:show_str
     ;功能:在指定的的位置,用指定的顏色,
     ;			顯示一個用0結束的字串
     ;引數:(dh)=行號(取值範圍0-24),(dl)=列號(取值範圍0-79)
			(cl)=顏色屬性,ds:si指向字串的首地址
    ;小程式思想
    ;1.將暫存器指向0b800h,即視訊記憶體所在的位置
    ;2.將偏移地址指向要顯示的地方
    ;3.ah儲存要顯示的屬性,al儲存要顯示的內容

show_str:    ;程式的入口
			push ax
			push cx
			push bx
			push es
			push si
			;es指向0b800h處
			mov ax,0b800h
			mov es,ax
			    ;將偏移地址指向要顯示的行和列
			    ;計算行
			mov al,160
			mul dh
			; 計算列
			mov dh,0
			add dx,dx
			    ;計算總偏移地址
			mov bx,ax
			add bx,dx
			    ;用ah儲存要顯示內容的屬性
			mov ah,cl
			
			
		show:
				mov cl,[si]
				mov ch,0
				jcxz ok
				mov al,[si]
				mov es:[bx],ax
				inc si
				add bx,2
				jmp short show
				
			ok:
					pop si
					pop es
					pop bx
					pop cx
					pop ax
				ret    ;程式的出口