广东工业大学实验报告
信息工程学院通信工程专业学号姓名合作者_班成绩评定________号____教师签名
实验3题目显示程序设计实验第9周星期二第58节显示程序实验设计1
一实验目的1学习显示器IO程序设计方法2了解系统功能中断的设计方法3了解键盘光标键是如何公职二实验内容和要求1用键盘上的上下左右键控制光标的移动2按行号列号的形式给方块字符ACS2码为0BDH在屏幕上定位按上下左右光标键使光标在屏幕上移动光标的移动由方块字符组成的图形而在屏幕上保留下轨迹三实验主要仪器设备和材料计算机四实验方法步骤及结构测试1源程序如下TITLEDRAWProgramtodrawo
scree
withread_cequ0key_romequ16hupequ48hdow
equ50hrightequ4dhliftequ4bhblockequ0dbhesc1equ1bhvideosegme
tat0b800hdefi
eextrasegwd_bufflabelwordv_buffdb25802dupvideoe
dspro_
amsegme
tdefi
ecodesegme
tMai
procfarAssumecspro_
amesvideoStartpushdssetupstackforretur
fsubaxaxpushaxmovaxvideomovesaxmovcx8025clearscree
bywriti
gzerostoitmovbx0Clearmoveswd_buffbx0700hi
cbxi
cbxLoopclearmovch12dsetscree
poi
tertoce
terofscree
movcl40dGet_charmovahread_ci
tkey_romcmpalesc1jzexitmovalahcmpalupj
z
ot_updecchNot_upcmpaldow
j
z
ot_dow
i
cchNot_dow
cmpalrightj
z
ot_righti
cclNot_rightcmpalliftj
zlite_itdecclLite_itmoval160dmulchmovblclrolbl1movbh0addbxaxmovalblockmovesv_buffbxaljmpget_char
fExitretMai
e
dpPro_
ame
dsE
dstart
五实验报告要求1显示器是如何定义窗口的大小的显示器根据数据显示的单元数v_buffdb25802dup定义窗口大小的2在文本方式下什么是属性值blockequ0dbh是定义的属性值,v_buffbx1是放每个单元(一共2580个)属性值的地方,即每个单元的高字节。六思考题光标轨迹运行到边界后,为什么光标会闪烁和改变颜色?若要光标不变,应如何修改程序?答:光标移位所使用的语句是循环移位,当光标由边界移到另一边边界时方块字符的属性值发生错位相乘,所以光标会闪烁和改变颜色。若要光标不变,应将循环移位ROL改为逻辑移位SHL。七实验心得在第一次按照书上输入代码后发现运行不了检查后发现书上代码有误根据错误显示排除了错误J
z
ot_dow
在运行后根据代码内容了解了光标移位为循环移位
显示程序设计实验2
一实验目的1了解INT21H部分功能号的功能和使用方法2掌握字符方式下PC机显示器显示控制实验程序1运行结果:
修改程序:
fstack
SEGMENTDW64DUPstackENDScodeSEGMENTASSUMECScodeSSstackstartr