用汇编语言编写一个除8行3列到8行10列位置外的屏幕上的其他位置都用#覆盖的代码
时间: 2024-02-20 17:02:11 浏览: 32
以下是一个汇编程序,可以满足您的要求:
```
ORG 100h
mov ah, 0Fh ; 设置显示颜色
mov al, 7h ; 白底黑字
int 10h ; BIOS的显卡中断
mov ah, 02h ; 设置光标位置
mov bh, 0h ; 页码
mov dh, 0 ; 行号
mov dl, 0 ; 列号
int 10h ; BIOS的显卡中断
mov cx, 80*25 ; 循环整个屏幕
mov ah, 09h ; 显示字符
mov al, '#' ; 要显示的字符
display_loop:
cmp dh, 8 ; 如果已经到了第8行
je check_column ; 跳转到检查列号
int 10h ; 显示字符
inc dl ; 列号+1
cmp dl, 80 ; 如果已经到了一行的最后一个字符
je new_line ; 跳转到新行
loop display_loop ; 循环
check_column:
cmp dl, 3 ; 如果已经到了第8行3列
jb display_char ; 跳转到显示字符
cmp dl, 10 ; 如果已经到了第8行10列
ja display_char ; 跳转到显示字符
inc dl ; 列号+1
cmp dl, 80 ; 如果已经到了一行的最后一个字符
je new_line ; 跳转到新行
loop check_column ; 循环
display_char:
int 10h ; 显示字符
inc dl ; 列号+1
cmp dl, 80 ; 如果已经到了一行的最后一个字符
je new_line ; 跳转到新行
loop display_loop ; 循环
new_line:
mov dl, 0 ; 列号清零
inc dh ; 行号+1
cmp dh, 25 ; 如果已经到了最后一行
je end_display ; 跳转到结束显示
jmp display_loop ; 跳转到循环显示字符
end_display:
jmp $ ; 死循环
TIMES 510-($-$$) DB 0 ; 填充剩下的空间
DW 0AA55h ; 结束标志
```
这个程序首先设置了显示的颜色为白底黑字,然后将光标移动到第0行0列,开始循环显示#字符,直到到达第8行3列。然后跳转到检查列号,如果在第8行3列到10列之间,就跳过显示字符,否则就显示#字符。然后将列号+1,判断是否已经到达一行的最后一个字符,如果是,就跳转到新行。如果已经到达第8行,就跳转到检查列号,否则就显示#字符。最后将行号+1,判断是否已经到达最后一行,如果是,就结束显示,否则就跳转到循环显示字符。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)