《汇编语言》实验10.1,编写屏显子程序,使用行数,列数,颜色三个变量做子程序传递接口。
org 0100h
start@:
mov dh,15 ;显示在屏幕的行数
mov dl,40 ;显示在屏幕的列数
mov cl,2 ;显示在屏幕的颜色
mov ax,cs
mov ds,ax
mov si,0
call show_str
jmp $
mov ax,4c00h
int 21h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
show_str: ;屏显子程序,接收三个参数
mov al,160
mov bl,dh
mul bl
add dl,dl
mov bl,dl
mov bh,0
add ax,bx
mov bx,dataStart@
add si,ax
mov dh,cl
mov cx,dataEnd@-dataStart@
s@:
mov dl,[bx]
mov ax,0b800h
mov ds,ax
mov [ds:si],dx
mov ax,cs
mov ds,ax
inc bx
add si,2
loop s@
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dataStart@:
db '-_-! Welcome to fasm!I am here!' ;data区,存放要处理的数据
dataEnd@:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
stackEnd@:
db 100 dup ('*') ;堆栈区初始化
stackStart@:
阅读(1204) | 评论(0) | 转发(0) |