总所周知,内存地址为 B800:0000 的内容为显示回显,只要在这个地址值上写值,屏幕就会回显相应的符号或者图形。
看了王爽的《汇编语言》第二章的最后练习,算是作业吧。
此程序将ascii码都打印出来。地址中从0开始偶数位为ascii码,奇数位为颜色等。
DATAS SEGMENT
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,0B800h ;数据段地址
MOV DS,AX
mov ax,0f0h
mov cx,ax ;计数器置值为f0
mov ax,0200h :高位为颜色值,低位为ascii码值
mov di,0
next:
mov [di], ax
inc ax
inc ah
inc di
inc di
dec cx
jnz next
;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START