匯編程序在屏幕顯示字符的源代碼

字號(hào):

這個(gè)一個(gè)剛學(xué)習(xí)匯編的入門實(shí)例,想學(xué)匯編的朋友可以看看
    assume cs:code
    data segment
    db ’Welcome to masm!’,0
    data ends
    stack segment
    db 100 dup(0)
    stack ends
    ;以上定義數(shù)據(jù)段和棧段
    code segment
    start:
    mov dh,18 ;dh來(lái)定位行
    mov dl,23 ;dl來(lái)定位列
    mov cl,02h
    mov ax,data
    mov ds,ax
    mov si,0
    call show_str ;調(diào)用子程序
    mov ax,4c00h
    int 21h
    ;下面是子程序
    ;========================================
    show_str:
    mov ax,stack
    mov ss,ax
    mov sp,100
    mov ax,0b800h
    mov es,ax
    mov al,160
    mul dh
    mov bx,ax
    mov al,2
    mul dl
    mov di,ax
    do:
    mov ch,0
    push cx ;將顏色信息保存
    mov al,[si]
    mov ch,0
    mov cl,al
    jcxz out_show ;遇到0就跳出循環(huán)
    pop cx ;將顏色信息回復(fù)
    mov byte ptr es:[bx+di],al ;寫入顯卡,將字符顯示
    mov byte ptr es:[bx+di+1],cl ;在低位寫入顏色信息
    inc si
    add di,2
    jmp short do ;實(shí)現(xiàn)循環(huán)操作
    out_show:
    ret
    code ends
    end start