- [tolearn] 谢谢你哈…… 10/19 07:10
- [huang425618] 呵呵,第二种方法原来就是第七章的内容,我当时还没学到那呢。我其实不是为我自己辩解,只是我想说,我们的 10/03 20:00
- [qq93324030] 不觉得第二种方法好,他怎么就能那么确定abc三个段是连续的呢?万一不连续他的程序就没作用了。。 10/02 04:37
- [qq93324030] 谢谢,和你对比了我就不用贴了 10/02 00:18
[2010-10-14 17:23] 实验9
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data 设置数据
mov ds,ax
mov bx,0
mov ax,0b872h 计算屏幕中间的段地址,第0页有4Kb,有
mov es,ax 25行,中间是第十二行6e0h-77fh,第十
mov bp,0 二行的中间开始720h.
mov si,1
mov cx,10h
s: mov al,[bx]
mov es:[bp],al
mov es:[bp+0a0h],al
mov es:[bp+140h],al
inc bx
add bp,2 以上是把data数据送至十二行到十四行,每
loop s 行16个字节
mov ax,10h
s1: mov al,02h 02h,24h,71h是根据题目要求计算的颜色
mov es:[si],al 属性数据
mov al,24h
mov es:[si+0a0h],al
mov al,71h
mov es:[si+140h],al
add si,2
loop s1 把颜色属性输入高位字节,每行输入16字节
mov ax,4c00h
int 21h
code ends
end start
论坛上还有一个是直接一个字一个字的传送,比我经过简化的还要少3行代码, 是很好的思路。
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data 设置数据
mov ds,ax
mov bx,0
mov ax,0b872h 计算屏幕中间的段地址,第0页有4Kb,有
mov es,ax 25行,中间是第十二行6e0h-77fh,第十
mov bp,0 二行的中间开始720h.
mov si,1
mov cx,10h
s: mov al,[bx]
mov es:[bp],al
mov es:[bp+0a0h],al
mov es:[bp+140h],al
inc bx
add bp,2 以上是把data数据送至十二行到十四行,每
loop s 行16个字节
mov ax,10h
s1: mov al,02h 02h,24h,71h是根据题目要求计算的颜色
mov es:[si],al 属性数据
mov al,24h
mov es:[si+0a0h],al
mov al,71h
mov es:[si+140h],al
add si,2
loop s1 把颜色属性输入高位字节,每行输入16字节
mov ax,4c00h
int 21h
code ends
end start
论坛上还有一个是直接一个字一个字的传送,比我经过简化的还要少3行代码, 是很好的思路。
评论次数(0) |
浏览次数(486) |
类型(汇编作业) |
收藏此文 |