P280:在屏幕中间依次显示a~z, 显示过程中,按下ESC键后,改变显示颜色
P283:在DOS下,按F1键后改变当前屏幕的显示颜色,其他的键照常处理
P293:以十六进制的形式显示给定的字节型数据
P295:计算sin(x) x=0 30 60 90 120 150 180
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
第15章 P280:在屏幕中间依次显示a~z, 显示过程中,按下ESC键后,改变显示颜色
; DATE: 20190621
; DESCRIPTION: 在屏幕中间依次显示a~z, 显示过程中,按下ESC键后,改变显示颜色
;
; 已知:int 9为BIOS提供的一个中断例程,用来进行基本的键盘输入处理
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0, 0
data ends
code segment
start:
mov ax, stack
mov ss, ax
mov sp, 128 ; ss:sp
mov ax, data
mov ds, ax
mov ax, 0
mov es, ax
push es:[9*4]
pop ds:[0]
push es:[9*4+2] ; 使用栈,
pop ds:[2] ; 将原来的int 9中断例程的入口地址保存在ds:0、ds:0单元中
cli ; 设置IF标志位为0,不响应可屏蔽中断
mov word ptr es:[9*4], offset int9
mov es:[9*4+2], cs ; 在中断向量表中设置新的int 9中断例程的入口地址
sti ; 设置IF标志位为1,恢复响应可屏蔽中断
; ------ 在屏幕中间依次显示a~z ------
mov ax, 0b800H</