正文

汇编初级代码2007-04-06 13:24:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lingdlz/24640.html

分享到:

最近对汇编语言非常入迷,于是开始了汇编的旅程。博客上不知道搞些什么东西,所以就将自己写的一些初级代码传上来了,初学者摆弄一下这些最基本的程序还是可以的。 ;-------------------------------------------;最经典的 hello,world ! ;-------------------------------------------.model small   ;定义程序的存储模型.data    ;定义数据段hello db 'hello,world !',13,10,'$'.code    ;定义代码段main proc farstart: mov ax,@data ;载入数据段 mov ds,ax  mov dx,offset hello ;打印字符串 mov ah,09h int 21h  mov ah,4ch  ;返回DOS int 21hmain endp end start ;-----------------------------------------------;随机数产生器,间隔一定时间产生80以内的随机数;-----------------------------------------------.MODEL SMALL.DATAOUTBUF DB 4 DUP(?)TXT1   DB "Create Random data(below 80)2007-4-5",13,10,'$'TXT2   DB "Input 'Q' or 'q' to exit",13,10,'$' ENTER  DB 13,10,'$'.CODEMAIN   PROC FAR   ;================主程序开始START: MOV AX,@DATA       MOV DS,AX       CALL PLINE       MOV DX,OFFSET TXT1       MOV AH,09H       INT 21H       MOV DX,OFFSET TXT2       MOV AH,09H       INT 21H       CALL PLINE LOP1:  MOV SI,OFFSET OUTBUF       MOV AH,0       INT 1AH   ;读取时钟       MOV AL,DL  ;毫秒       MOV AH,0       MOV BL,80;  ;除以80       DIV BL       MOV AL,AH       MOV AH,0       MOV BL,10       DIV BL       CMP AL,00H  ;是否是 0,高位的 0 去掉       JZ  ZERO        ADD AL,30H       MOV [SI],AL       INC SIZERO:  ADD AH,30H        MOV [SI],AH       INC SI       MOV BYTE PTR [SI],20H ;设置空格       INC SI       MOV BYTE PTR [SI],'$'       MOV DX,OFFSET OUTBUF       MOV AH,09H  ;输出结果       INT 21H        MOV CX,500  ; 时间间隔设置DONE1: MOV BX,0FFFFHDONE:  DEC BX       JNE DONE       LOOP DONE1           MOV AH,6   ;接收输入(直接控制台I/O),Q,q 退出       MOV DL,0FFH       INT 21H       CMP AL,'Q'       JE  EXIT       CMP AL,'q'       JE  EXIT       JMP LOP1EXIT:  MOV AH,4CH       INT 21H;打印 ----------------------------------------------PLINE  PROC NEAR  ; ==============子程序开始       MOV DL,2DH  ;字符'-'的ASCLL码       MOV CX,40PRT:   MOV AH,02H       INT 21H       LOOP PRT       MOV DX,OFFSET ENTER       MOV AH,09H       INT 21H       RETPLINE  ENDP   ; ==============子程序结束 MAIN   ENDP   ; ==============主程序结束       END START ;一下又学这个,一下又学那个,真不知道这么做对还是错,不过就是感兴趣;也就是 汇编/C/C++ 这三门语言了。相信很多人也和我一样,不知道该学什;么,JAVA/C++/DEPHI/C# …… 一大堆的确很烦人,你说呢

阅读(3796) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册