hackiy 发表于 2012-6-3 14:09:06

实验9最直观解析

这个实验耗了我半天时间独立完成,此次发布的代码不是最优代码。但是很直观,也方便新手读懂。
毕竟我就是新手。
对比小甲鱼放出的代码,我觉得我这个更适合新手学习。如有不对之处,请高手之处,谢谢!

assume cs:code

data segment
        db 'welcome to masm!'                ;定义要显示的字符串(共16字节)
data ends

code segment
start:        mov ax,data                                ;设置字符段
                mov ds,ax
                mov bx,0                                ;字符

               
                mov ax,0b800h                        ;设置显示段
                mov es,ax
                mov dx,40h                                ;(160-32)/2得出平均第一列

                mov cx,16                                ;处理16个字符
                s:        mov al,                        ;取出字符到ax低8位

                        mov ah,02h                        ;设置ax高8位为[绿字]
                        mov es:6e0h,ax        ;显示到[第一行](25-3)/2*160

                        mov ah,24h                        ;设置ax高8位为[绿底红字]
                        mov es:780h,ax        ;显示到[第二行]6e0h+a0h

                        mov ah,71h                        ;设置ax高8位为[白底蓝字]
                        mov es:820h,ax        ;显示到[第三行]780h+a0h
                       
                        inc bx                                ;读取下一个[字符]
                        add dx,2                        ;进入下一个[列]
                loop s
               
over:        mov ax,4c00h
                int 21h
code ends

end start
页: [1]
查看完整版本: 实验9最直观解析