轻拿轻放 发表于 2013-10-1 20:31:43

《汇编语言》第二版 实验9

实验9在屏幕中间分别显示绿色,绿底红色,白色蓝底的字符串’welcome to masm!’
别人的程序
assume cs:code,ds:data,es:tabledata segment   db 'welcome to masm!'data endstable segment   dw 4000 dup (0)table endscode segmentstart:   mov ax,data   mov ds,ax   mov ax,0b800h   mov es,ax   mov bx,0   mov si,0   mov cx,16 s0:mov ax,   mov es:,ax   mov al,2   mov es:,al   inc bx   inc si    loop s0    mov bx,0   mov cx,16   mov si,160s1:mov ax,   mov es:,ax   mov al,36   mov es:,al   inc bx   inc si   loop s1    mov bx,0   mov cx,16   mov si,320s2:mov ax,   mov es:,ax   mov al,113   mov es:,al   inc bx   inc si   loop s2    mov ax,4c00h   int 21hcode endsend start课本上说的是低位字节存放的是ASCII码值,高位字节存放的是值的属性。既然如此这里为什么是mov al,2h呢?还有小甲鱼老师的也是存放在al里面,实在是想不通啊!最后我的执行了这个程序没有得到预期的结果,具体是这样的 当我执行这个程序的是后dos只是闪一下 然后就没有了,屏幕上没有什么变话,这又是为什么啊!我的系统是w7旗舰版的,会不会是和系统有关啊?请求各位看一看啊 瞧一瞧啊感激不尽










LinuxDeepin 发表于 2013-10-1 20:46:38

查看中,请稍等

LinuxDeepin 发表于 2013-10-1 21:02:25

本帖最后由 LinuxDeepin 于 2013-10-1 21:07 编辑

这是由于其显示速度太快 ,导致你看不到。
加个显示的死循环你就看得到了。
注意,如果你的计算机是单核CPU的,要谨慎运行,防止卡死
源代码插入修改如下:
assume cs:code,ds:data,es:table
data segment
   db 'welcome to masm!'
data ends
table segment
   dw 4000 dup (0)
table ends
code segment
start:   
   mov ax,data
   mov ds,ax
   mov ax,0b800h
   mov es,ax
f:   mov bx,0                                        ;;此处设置 f 标号
   mov si,0
   mov cx,16
s0:mov ax,
   mov es:,ax
   mov al,2
   mov es:,al
   inc bx
   inc si
    loop s0
   mov bx,0
   mov cx,16
   mov si,160
s1:mov ax,
   mov es:,ax
   mov al,36
   mov es:,al
   inc bx
   inc si
   loop s1
   mov bx,0
   mov cx,16
   mov si,320
s2:mov ax,
   mov es:,ax
   mov al,113
   mov es:,al
   inc bx
   inc si
   loop s2
         
   jmp short f                ;; 跳转到 f 标号处,死循环
         
   mov ax,4c00h
   int 21h
code ends
end start


轻拿轻放 发表于 2013-10-1 23:12:26

LinuxDeepin 发表于 2013-10-1 21:02 static/image/common/back.gif
这是由于其显示速度太快 ,导致你看不到。
加个显示的死循环你就看得到了。
注意,如果你的计算机是单核C ...

灰常感 谢:big

LinuxDeepin 发表于 2013-10-1 23:21:09

轻拿轻放 发表于 2013-10-1 23:12 static/image/common/back.gif
灰常感 谢

我今天刚好学到这一章,实验九的代码写好了,你可以看看我写的与他写的区别在哪里
地址:
http://bbs.fishc.com/thread-38488-1-1.html

baby520 发表于 2013-10-2 21:27:14

学习一下。。。。

baby520 发表于 2013-10-4 20:58:20

支持一下。。好好学

轻拿轻放 发表于 2013-10-8 19:41:19

LinuxDeepin 发表于 2013-10-1 23:21 static/image/common/back.gif
我今天刚好学到这一章,实验九的代码写好了,你可以看看我写的与他写的区别在哪里
地址:
http://bbs.f ...

感谢了啊!终于弄出来了,我的
电脑是w7的 所以显示不出来 后来装了个xp虚拟机 ,果断的科学了!3q,3q

轻拿轻放 发表于 2013-10-8 19:42:40

baby520 发表于 2013-10-4 20:58 static/image/common/back.gif
支持一下。。好好学

哟西哟西

magicyuc 发表于 2013-10-8 23:45:38

学习一席哈

风吹绿野 发表于 2013-11-18 12:50:04

路过看看哈
页: [1]
查看完整版本: 《汇编语言》第二版 实验9