编写两个程序
第一个: 编写程序,该程序将它其中的一个子程序复制到200h处。
被复制的子程序定义:
名称:putchar
功能:在屏幕中间打印一个字符
参数:ch为给定的字符
cl为字符属性
返回值:无
第二个:编写一个程序,该程序调用存在于内存200h处的程序,在屏幕上打印绿色字符‘x’。调用后要确保能够正确返回。
assume cs:code
code segment
start:
mov ch,'x'
mov cl,02h
mov si,200h
mov di,offset putchar
s: mov ax,cs:[di] ;将其子程序复制到cs:[200]处
mov cs:[si],ax
mov bl,0c3h
cmp al,bl
je n
add di,2
add si,2
jmp short s
n: mov ax,200h ;调用存在于内存200h处的程序
call ax ;指示内存单元时也可写进16进制
mov ah,4ch
int 21h
;名称:putchar
;功能:在屏幕中间打印一个字符
;参数:ch为给定的字符
; cl为字符属性
;返回值:无
putchar:push ax
push cx
mov ax,0b800h
mov es,ax
mov es:[180*6+2*60],ch
mov es:[180*6+2*60+1],cl
pop ax
pop cx
ret
code ends
end start