- [somniumchase] 我一运行就说没有数字 01/01 11:44
- [游客] 为什么啊 08/07 15:36
- [游客] 如果想快一些 就改下面这里 dx值改成1H delay: push ax 04/19 02:53
- [lshhjx] 注释在程序中很重要,楼主不知道吗? 12/08 13:40
- [biaggi] 看不明白,在下還須學習 11/06 08:11
- [游客] 我运行的时候直接显示Unkown filename跳出了- -请问怎么改 06/16 21:44
- [游客] 勿庸置疑,注释是好习惯。与人方便自己方便。 04/12 10:33
- [游客] 老实说,看着真心累呀! 04/07 18:37
- [游客] 很无语,初学者就多看书,不要动不动要别人注释,基础打好了,再自己注释,这样比别人帮你注释好得多 12/17 19:43
- [dgkepu] 初学者:不懂,希望有多点注释带着学习学习! 12/07 20:52
- [游客] windows 7是一个64Bit操作系统,它不兼容DOS,无法识别16Bit系统。重装系统wind 02/28 21:05
- [游客] windows 7是一个64Bit操作系统,它不兼容DOS,无法识别16Bit系统。重装系统wind 02/28 21:05
- [466987333] 你好,高手,我想请教一个问题。 我用的是win7操作系统,32位的,里面没有找masm目录,是不是 12/12 17:30
- [lanfioncc] 那个太高级了。。。我还有点看不懂。。不过谢谢!!! 11/27 11:23
- [yc2010] 实验16中的 table: dw sub1,sub2,sub3,sub4 可不可以改成呢? 09/11 09:08
- [yc2010] mov bl,ah mov bh,0 add bx,bx ----------->这里为 09/07 21:03
- [yc2010] 为什么要add bx,bx呢? 09/07 20:55
- [yc2010] 那是不是像table[bx],ds[bx]....等(内存单元)都是表示一个字节呢? 09/06 21:10
- [masmaster] 杨季文的《80X86汇编语言程序设计教程》 09/01 12:52
- [游客] to masmaster shl左移4位,那al传进来的4,5,6位背景色不就没了. 为什 09/01 11:00
[2010-07-12 10:42] 模仿黑客帝国屏保
------------------------------------------------------
1 ;rand.asm
2 assume cs:code
3 code segment
4 start:
5 call clr
6 mov cx,100
7 main: call show
8 in al,60h ;如果有按键Q读入
9 cmp al,10h ;则退出程序
10 jz over ;
11 jmp main
12 loop main
13
14 over: mov ah,4ch
15 int 21h
16 ;
17 show: push ax
18 push bx
19 push cx
20 push dx
21
22 mov bl,160
23 in al,40h
24 and ax,0ffh
25 div bl
26 mov dl,ah
27
28 mov bl,25
29 in al,40h
30 and ax,0ffh
31 div bl
32 mov dh,ah
33
34 mov ah,2
35 mov bh,0
36 mov bl,02
37 int 10h
38
39 s: mov ah,2
40 int 10h
41 cmp dh,50
42 je ok
43 in al,40h
44 and al,0fh
45 cmp al,9
46 ja sa
47 add al,30h
48 jmp sb
49 sa: add al,37h
50 sb: mov ah,9
51 mov cx,1
52 int 10h
53 call delay
54 inc dh
55 jmp s
56 ok:
57 pop dx
58 pop cx
59 pop bx
60 pop ax
61 ret
62 ;
63 clr: push bx
64 push cx
65 push es
66 mov bx,0b800h
67 mov es,bx
68 mov bx,0
69 mov cx,4000
70 c1: mov byte ptr es:[bx],20h
71 add bx,2
72 loop c1
73 pop es
74 pop cx
75 pop bx
76 ret
77 ;
78 delay: push ax
79 push dx
80 mov dx,50h
81 mov ax,0
82 d1: sub ax,1
83 sbb dx,0
84 cmp ax,0
85 jne d1
86 cmp dx,0
87 jne d1
88 pop dx
89 pop ax
90 ret
91 ;
92 code ends
93 end start
------------------------------------------------------
这个版本的加入了退出, 否则, 他就是一死循环。
利用in al,60H,检测按键。
[ int20 发表于 2010-08-07 18:38 ]
朋友,你这个程序在前面加上数字标号了,要在什么编译器下可以编译通过啊.
[ masmaster 发表于 2010-08-07 20:12 ]
行号是编辑器里自带的。不是作为程序的一部分。
[ 812580210 发表于 2010-08-10 22:19 ]
我是一小白,请问你能帮我学习电脑知识吗?求你了!
[ v39lfy 发表于 2010-10-10 19:47 ]
哥们,整个程序就一段注释啊。。。
[ 游客 发表于 2010-10-11 11:41 ]
没有注释的代码,不看也罢
[ three-stone 发表于 2010-10-21 16:06 ]
确实 没有注释,看的很不爽。
[ 游客 发表于 2010-10-26 21:20 ]
代码对不对啊 编译不了啊
[ 20085617 发表于 2010-11-01 15:57 ]
交代码的时候多写写注释嘛,不然看起来很麻烦的
[ 游客 发表于 2010-11-04 12:13 ]
代码可以。。不过是DOS的
[ znxllyuan 发表于 2010-12-15 19:50 ]
圣凡哥 我来捧你场~
[ znxllyuan 发表于 2010-12-15 19:54 ]
其实,能懂别人的程序要比写还难,所以,注释自己添,反复的看,会看明白的。别人嚼烂的东西,不吃也罢。国人什么时候能学会感恩呢?技不如人,都是有原因的。谢谢哥哥分享, 我拿回去自己研究~
[ znxllyuan 发表于 2010-12-26 16:18 ]
圣凡哥 第41行是什么意思?
总共25行不是么?
[ lili001987 发表于 2010-12-30 13:33 ]
[ znxllyuan 发表于 2010-12-15 19:54 ]
其实,能懂别人的程序要比写还难,所以,注释自己添,反复的看,会看明白的。别人嚼烂的东西,不吃也罢。国人什么时候能学会感恩呢?技不如人,都是有原因的。谢谢哥哥分享, 我拿回去自己研究!!
经典!!!!11
[ jueqingsizhe66 发表于 2011-01-19 05:34 ]
en 挺好的 能够运行
[ kaiixinghb 发表于 2011-03-02 15:44 ]
en 可以运行。不能运行的深刻反省。
[ kenkenshin 发表于 2011-04-14 10:57 ]
out of memory?
[ kim 发表于 2011-04-26 08:57 ]
这是学到第几章了,这么厉害。
[ 游客 发表于 2011-05-29 16:54 ]
?
[ 游客 发表于 2011-06-04 21:58 ]
谢谢!
[ cacheer 发表于 2011-06-08 19:06 ]
貌似是学完了吧
[ baishipojie 发表于 2011-06-17 10:25 ]
目前还不知道咋玩!
[ tashiweide 发表于 2011-06-19 20:57 ]
znxllyuan说的对,谢谢凡哥啊
[ 游客 发表于 2011-08-27 07:31 ]
俺也编译不通过,我用的是是masm编译器,请问你用的什么编译器
[ 游客 发表于 2011-10-21 22:18 ]
编译过不了啊。。。
[ a7621 发表于 2011-11-19 14:17 ]
out of memory的原因是一下代码
; in al,60h ;如果有按键Q读入
; cmp al,10h ;则退出程序
;jz over ;
我把它注释了然后神奇的事发生了
[ a7621 发表于 2011-11-19 14:27 ]
好神奇的随机数,学习了
[ zmqc 发表于 2011-11-24 22:11 ]
呵呵,不错,不错。我也刚刚好看到这,正好copy回去研究研究。谢了!!!!
[ chinatree 发表于 2011-11-25 05:13 ]
out of memory的原因是因为注释是后来加上去的,用的是中文分号,编译器不能识别。
至于数字行号的问题,应该是Tasm一类集成开发环境,Masm好像不支持。可以手动去掉或者写个bat。
[ zhouyoujun 发表于 2012-01-27 15:42 ]
程序运行后,没有整屏移动的感觉,不够酷,不过也不错了,呵呵
[ hdb 发表于 2012-02-05 22:25 ]
求请教,我编译编译通过了,但连接的时候出错了,
LINK : error LNK2001: unresolved external symbol _start
a.exe : fatal error LNK1120: 1 unresolved externals
是什么意思?
[ chinatree 发表于 2012-02-06 01:51 ]
入口地址好像有问题,对于这个程序,把最后一行的start去掉也没事。
[ xiamingchong 发表于 2012-03-06 16:18 ]
我以为是数码雨那种呢。不过楼主已经很厉害了
[ 游客 发表于 2012-06-22 14:25 ]
主程序:
jmp main
loop main
去掉任何一句都可以啊,楼主什么逻辑?
[ snfhvkivg 发表于 2012-10-02 00:50 ]
初学者:不懂,希望有多点注释带着学习学习!
[ jlzh155 发表于 2012-11-01 09:06 ]
学习了,很好
[ changxiliu 发表于 2013-01-09 21:32 ]
8-10行注释不是“;”,应该是“;”。
[ zyx1105 发表于 2013-01-24 17:33 ]
编译通过了,只要用中文的;换为英文;就可以编译通过,谢谢楼主了,请问楼主学了多长时间汇编,看来把本书都看熟透了???
[ 314065083 发表于 2013-05-14 21:43 ]
请问call clr
和clr标号的子程序有什么用,那部分完全去掉都是可以运行的
[ h_killer 发表于 2013-09-07 18:38 ]
编译的时候怎么提示:out of memory 啊
[ h_killer 发表于 2013-09-07 18:40 ]
解决了!
[ 游客 发表于 2013-09-22 15:59 ]
叼
[ dgkepu 发表于 2013-12-07 20:52 ]
初学者:不懂,希望有多点注释带着学习学习!
[ 游客 发表于 2013-12-17 19:43 ]
很无语,初学者就多看书,不要动不动要别人注释,基础打好了,再自己注释,这样比别人帮你注释好得多
[ 游客 发表于 2014-04-07 18:37 ]
老实说,看着真心累呀!
[ 游客 发表于 2014-04-12 10:33 ]
勿庸置疑,注释是好习惯。与人方便自己方便。
[ 游客 发表于 2020-04-19 02:53 ]
如果想快一些 就改下面这里 dx值改成1H
delay: push ax
push dx
mov dx,1h