当前位置:首页>正文

汇编语言王爽第九章实验九 汇编语言 王爽 实验9...

2023-05-22 18:51:27 互联网 未知

汇编语言王爽第九章实验九

DOS 屏幕,每一行,显示 80 个字符。
每个显示字符,占用显存,为两个字节。

两行之间,显存地址,共相差,160 字节。
就是说,显存地址,加上 160,就会在下一行显示。

程序中,加上 0AH=10,然后,存到了段寄存器。
计算物理地址时,要乘以 16,就是 160。

汇编语言 王爽 实验9...

assume cs:code
data segment
db welcome to masm!
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0
mov di,10*160 80 第十行中间
mov cx,16
s1: mov al,ds:[si]
mov ah,00000010B 绿色
mov es:[di],ax
inc si
inc di
inc di
loop s1
mov si,0
mov di,11*160 80 第十一行中间
mov cx,16 s2:
mov al,ds:[si]
mov ah,00100100B 绿底红色
mov es:[di],ax
inc si
inc di
inc di
loop s2
mov si,0
mov di,12*160 80 第十二行中间
mov cx,16
s3: mov al,ds:[si]
mov ah,01110001B 白底蓝色
mov es:[di],ax
inc si
inc di
inc di
loop s3
mov ax,4c00h
int 21h 如果要看到完整的显示请输入:“-g 4c”,即立即运行到此条指令
code ends
end start

汇编实验九,执行程序后的奇怪问题

用DEBUG时,G、T、P的作用,是不一样的。 T,单步执行,执行LOOP时,也是单步,一步一步执行循环的内部。 P,单步执行,执行LOOP时,却一口气执行到LOOP的后面,连续执行LOOP的内部。 你前面,用的T,显示出来了:w, 后来,用的P,所以,你就看到了:elcome to masm!。 G,可以连续执行到结尾,所以可以看到完整的:welcome to masm!。