. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
主题 : :  计算机学习之旅  [待解决] 回复[ 12次 ]   点击[ 888次 ]  
wanghpjxnu
[帖 主] [ 发表时间:2014-09-10 20:36 ] 
荣誉值:0
信誉值:0
注册日期:2014-09-10 18:47
先上学习路线,开始有点曲折:

    Cheat Engine ---> 按键精灵 ---> Visual Basic ---> C ---> C++ ---> 汇编语言 
    ---> Windows程序设计(C/SDK,C++/MFC) ---> ......

   注:MFC只是简单地了解了一下基本原理!现在正在学数据结构、组成原理、操作系统及保护模式下的汇编语言程序设计。

   植物大战僵尸。
    没错,正是这款曾风靡一时的单机小游戏让我走上了自学计算机的旅程!屈指算来,到今天已经快7个月了。
最近几天学习状态不佳,既然无法平静下来看书敲代码,何不写段简短的文字来记录下自己的学习之路...

    一、兴趣是最好的老师

    在植物大战僵尸贴吧看到关于游戏修改器,顿时觉得高大上,于是自己在网上找了一些资料,竟然不到一天就学会了自制游戏修改器,这极大地激发了我兴趣。但是里面只是用鼠标拖拖点点,基本的原理还是不甚明白,觉得没啥意思。

    然后还是在贴吧,看到了按键精灵(通过编程能挂机玩游戏),于是花了近20天的时间看了相关资料和视频,很快就通过按键精灵自己也能做一个GUI界面的带各种简易功能的游戏修改器了。讲解按键精灵视频的老师说按键精灵里面的很多东西是借鉴Visual Basic的。

    于是花了一个月的时间学习VB,能制作具有漂亮界面的Windows应用程序。正是VB,让我真正地对计算机产生了兴趣。

    但从VB论坛贴吧里面,很多人说VB只是初学者的编程语言,要想进入计算机知识的殿堂,必须从C语言开始。 
    
        
    二、入门
wanghpjxnu
[第8楼] [ 回复时间:2014-09-11 13:14 ] 
荣誉值:0
信誉值:0
注册日期:2014-09-10 18:47
org        7c00h                        
        mov        ax, cs
        mov        ds, ax
        mov        es, ax    
        call Menu   ; 调用功能菜单 
   
         mov ah,0 
        int         ; 读取键盘缓冲区
         cmp al, '1'   
        je Reset        
        jmp $            ; 无限循环
    
         Menu:
        mov        ax, Options
        mov        bp, ax                        ; ES:BP = Options地址
        mov        cx, 16 * 4                ; CX = Options长度
        mov        ah, 13h                        ; AH = 13h
        mov al, 01h                     ; AL = 01h
        mov        bh, 00h                        ; 页号为0
        mov bl, 0ch         ; 黑底高亮红字
        mov        dl, 0
        int        10h                            ; 10h 号中断
        ret
    
Options:  db        "1) reset pc     "          
          db    "2) start system "          
          db    "3) clock        "
          db    "4) set clock    "

Reset:
        mov ax,0ffffh
        push ax
        mov ax,0h
        push ax
        retf   

           
times         510-($-$$)        db        0        ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw         0xaa55                                    ; 结束标志
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved