修改以下汇编程序:data segment char db 'welcome' color db 07h,42h,24h,70h,14h,41h,21h,12h data ends code segment assume cs:code, ds:data st1: mov ax, data mov ds, ax mov ax, 0b800h mov es, ax mov cx, 8 lea bx, char lea si, color mov di, 12160+402 l: mov al, [bx] mov es:[di], al mov al, [si] mov es:[di+1], al inc bx inc si add di, 2 loop l mov ah, 4ch int 21h code ends end st1
时间: 2023-07-02 19:18:34 浏览: 208
MediaSource 硬解码h264
这段汇编程序的作用是在屏幕上显示字符串"welcome",并且每个字符有不同的颜色。修改后的程序如下:
```
data segment
char db 'welcome'
color db 07h, 02h, 04h, 06h, 0Ah, 0Ch, 0Eh, 0Fh
data ends
code segment
assume cs:code, ds:data
st1:
mov ax, data
mov ds, ax
mov ax, 0b800h
mov es, ax
mov cx, 8
lea bx, char
lea si, color
mov di, 0
l:
mov al, [bx]
mov bl, [si]
mov es:[di], al
mov es:[di+1], bl
inc bx
inc si
add di, 2
loop l
mov ah, 4ch
int 21h
code ends
end st1
```
修改的部分有:
1. 修改了 color 数组,使得每个字符的颜色更加鲜艳。
2. 将 di 的初始值从 12160+402 改为 0,这样字符串就会从屏幕左上角开始显示。
3. 修改了 mov 指令,使用了 bl 寄存器来保存颜色数据,这样就能够将字符和颜色一起写入显存中了。
阅读全文