|
2鱼币
今天听完小甲鱼汇编视频的讲解,实验9有些疑惑。请求大侠们给小生详细解释下。 以下代码是网络上的一种解法,过程方面不是很理解。求搭救。谢了。
; ============================================================================================
;
; 王爽汇编实验9 根据材料编程
; 要求:编程实现在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 'welcome to masm!' .
; 在80*25彩色字符模式下,显示器可显示25行,每行80个字符,每个字符可以有256种属性
; 02H表示黑底绿色
; 00100100B表示绿底红色
; 01110001B表示白底蓝色
;
; ============================================================================================
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b872h
mov es,ax
mov si,0
mov di,0
mov cx,16
s: mov dl,2h ;这里开始不明白了,这是有什么用。
mov es:[di+1],dl
mov dl,24h
mov es:[di+1+140h],dl
mov dl,71h
mov es:[di+1+140h],dl
mov al,[si]
mov es:[di],al
mov es:[di+0a0h],al
mov es:[di+140h],al
inc si
add di,2
loop s ;这一段想了很久,不知道它的思路,能不能解释下,每一步。
mov ax,4c00h
int 21h
code ends
end start
|
|