汇编语言第十章答案.pdfVIP

  • 36
  • 0
  • 约1.39万字
  • 约 17页
  • 2017-10-05 发布于湖北
  • 举报
汇编语言第十章答案

10.1 写出指令,选择显示方式10H,并将背景设为绿色。 答: MOVAH,00H MOVAL, 10H ;选择显示方式10H(16色图形) INT 10H MOVAH, 10H MOVAL,00H MOVBH, 10H ;背景设为绿色(02H 也可以,是用DEBUG 调试出来的) MOVBL,0 ;选择0号调色板 INT 10H 设置背景色也可用: MOVAH,0BH ;设置背景色和调色板 MOVBH,0 ;设置背景色功能 MOVBL, 8 ;绿色背景 INT 10H 10.2 如何使用INT 10H 的功能调用改变显示方式? 答:在AH 中设置功能号00H,在AL 中设置显示方式值,调用INT 10H 即可。 10.3VGA 独有的一种显示方式是什么? 答:像素值为640×480,可同时显示16种颜色,这种显示方式(12H)是VGA 独有的。 10.4 对于EGA 和VGA 显示适配器,使用显示方式13H 时(只有VGA 有),显示数据存在哪 里? 答:显示数据存在显示存储器里。 10.5 对于VGA 的显示方式13H 时存放一屏信息需要多少字节的显存? 答:需要64000个字节。 10.6 利用BIOS 功能编写图形程序:设置图形方式10H,选择背景色为蓝色,然后每行(水 平方向)显示一种颜色,每4行重复一次,一直到整个屏幕都显示出彩条。 答:程序如下: TITLE GRAPHIX.COM codesegsegment assumecs:codeseg,ds:codeseg, ss:codeseg org 100h mainprocfar mov ah,00h mov al, 10h ;选择显示方式10h(16色图形) int 10h mov ah,0bh movbh,00h movbl,01h ;背景设为蓝色 int 10h mov ah,0bh movbh,01h movbl,00h ;设置调色板0# int 10h movbx,0 ;显存的第0页 mov cx,0 ;起始列号为0列 mov dx,0 ;起始行号为0行 line:mov ah,0ch ;写像素点 mov al,bl int 10h inccx cmp cx,640 jneline mov cx,0 ;起始列号为0列 incbl andbl,03h ;只显示四种颜色(因此保留最低两位) incdx cmp dx,350 jneline int 20h main endp codesegends endmain 10.7 修改10.6题的程序,使整个屏幕都显示出纵向的彩条。 答:程序如下: TITLE GRAPHIX.COM codesegsegment assumecs:codeseg,ds:codeseg, ss:codeseg org 100h mainprocfar mov ah,00h mov al, 10h ;选择显示方式10h(16色图形) int 10h mov ah,0bh movbh,00h movbl,01h ;背景设为蓝色 int 10h mov ah,0bh movbh,01h movbl,00h ;设置调色板0# int 10h movbx,0 ;显存的第0页 mov cx,0 ;起始列号为0列 mov dx,0 ;起始行号为0行 line:mov ah,0ch ;写像素点 mov al,bl int 10h incdx cmp dx,350 jneline mov dx,0 ;起始行号为0行 incbl andbl,03h ;只显示四种颜色(因此保留最低两位) inccx cmp cx,640 jneline int 20h main endp codesegends endmain 10.8 按动键盘上的光标控制键,在屏幕上下左右任一方向上绘图,每画一点之前,由数字 键0~3指定该点的颜色值,按动ESC 键,绘图结束,返回DOS。 答:程序如下: ;DRAW—Programtodraw on screenwith sursor arrows ;For 640*350colormode up equ 48h ;向上键的扫描值 down equ 50h ;向下键的扫描值 left equ 4bh ;向左键的扫描值 right equ 4dh ;向右键的扫描值 escapeequ 1bh ;“Esc”character codesegsegment mainprocfar assumecs:codeseg

文档评论(0)

1亿VIP精品文档

相关文档