汇编网首页登录博客注册
znxllyuan的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
最新留言
好友圈
文章收藏
友情链接

[2011-01-26 10:58] 【虎彡】**************天平游戏,框架完成*******************

;----------------------------------------------------------------------------------------
;游戏说明:空格变换随机数,右下角NEXT:显示的下一个字符,DEVIATION:显示天平(你也可以当成
;是飞机- -)左右托盘的重量偏差,大于9则游戏结束!
;1-9表示重量 A-Z统一当成重量5 数字0不管落到哪个托盘 都清空左右托盘重量以及偏差!
;按←→选择下落的托盘 空格变换重量!
;因为是使用空循环延时,不同的机器延时会不一样!
;每下落6个重量则加速 加速7次则胜利!
;当左右重量偏差大...
阅读全文 | 评论次数(0) | 浏览次数(623) | 所属类型(小程序)

[2011-01-12 15:09] 【虎彡】读取随机数

------------------------------------------------
RAND  PROC
      PUSH CX
      PUSH DX
      PUSH AX
      STI
      MOV AH,0             ;读时钟计数器值
      INT 1AH
      MOV AX,DX            ;清高6位
      AND AH,3
      MOV DL,101           ;除101,产生0~100余数
      DIV DL
      MOV BL,AH       ...
阅读全文 | 评论次数(0) | 浏览次数(608) | 所属类型(小程序)

[2011-01-07 12:23] 【虎彡】剑大叔画圆程序分析

点击查看原图
DATAS SEGMENT
xs db ?
yh db ?
 color dw 0
  rr dw 0
  rx dw 0
  ry dw 0
  xx dw 0
  yy dw 0
  zd dw 0
  zg dw 0
  yd dw 0
  yg dw 0
  x8 dw 8 dup (0)
  y8 dw 8 dup (0)
 paktq db "Press any key to quit!$"
DATAS ENDS

STACKS SEGMENT
  db 100h dup (0)
STACKS ENDS

CODES SEGMENT
 ...
阅读全文 | 评论次数(0) | 浏览次数(680) | 所属类型(小程序)

[2011-01-02 11:47] 【虎彡】选择写模式的通用例程

; al=write mode requested

SET_WRITE_MODE PROC

  PUSH AX
  MOV DX,3CEH
  MOV AL,5
  OUT DX,AL
  JMP SHORT $+2
  MOV DX,3CFH
  POP AX
  OUT DX,AL
  JMP SHORT $+2
  MOV DX,3CEH  
  MOV AL,8
  OUT DX,AL
  JMP SHORT $+2
  MOV DX,3CFH
  MOV AL,0FFH
  OUT DX,AL
  JMP SHORT $+2
  RET ...
阅读全文 | 评论次数(0) | 浏览次数(626) | 所属类型(小程序)

[2011-01-02 11:46] 【虎彡】水平8像素一列,垂直8像素一行为坐标,计算读写像素字节地址的子程序

假定显示方式为 VGA 12H
;CH=pillar number (range to 79)=x coordinate
;CL=rank number (range to 59)=y coordinate
;byte address=(cl*640)+ch
;bx=byte offset into video buffer
COARSE_ADD PROC
  PUSH AX
  PUSH DX
  PUSH CX
  MOV AX,CX
  MOV AH,0
  MOV CX,640
  MUL CX
  POP CX
  POP DX
  MOV CL,CH ...
阅读全文 | 评论次数(0) | 浏览次数(652) | 所属类型(小程序)

[2010-12-23 12:07] 【虎彡】32位有\无符号除法!

;无符号数的32位值除以16位值   
;入:DXAX=被除数   
; CX=除数   
;出:DXAX=商   
; BX=余数   
;===============================   
本来32位除以16位可以直接DIV CX,但它的商也只能是16位,如果超出16位就会发生“除法溢出错误”,相当于被0除。例如dx=0003h,ax=0000h,cx=0002h,则DIV CX会错。

下面的过程就是为了让32位数除以16位数的商是32位的时候,仍然能计算出结果。计算过程和列式计算“83/5”等式一样的:先用被除数的十位数除以除数,得到商的十位数,然后用...
阅读全文 | 评论次数(0) | 浏览次数(309) | 所属类型(小程序)

[2010-12-23 11:51] 【虎彡】32位无符号乘法~

d1 dw 4 dup(0)     ;定义4字存放两个32位乘法因子,注意地址低位存放数据高位
res dw 4 dup(0)    ;定义4字存放运算结果,乘法结果高位存放在RES低位


 mult   proc 
    push ax 
    push bx 
    push cx 
    push dx 
    push di 
    mov ax,offset res 
    mov di,ax         ;DI指向运算结果
    mov bx,offset d1  ;BX指向乘法因子首地址
    mov ax,[bx+6]    ...
阅读全文 | 评论次数(0) | 浏览次数(254) | 所属类型(小程序)

[2010-12-16 20:45] 【虎彡】字符串变色、移动小程序(最终版)

感谢va_zaixuexi大哥shzhfu(牧人)大叔帮我找出了错误所在
感谢圣凡哥让我有了灵感(PS:圣凡哥,3天我就做成了哦~嘿嘿)
感谢 汇编网的移动笑脸让我有了借鉴
首先输入昵称(支持249个字符)回车后无字是因为字是黑色
R变红 B变蓝 G变绿 I高亮 S白底黑字 [L一直变色 按ESC变黑(返回初始)P暂停变色 ][Y键移动 CTRL停止移动并返回(字符停在屏幕中间)] Q退出 “[]”中的按键只在第一个按键后使用(比如ESC、P键只在L键后使用)

整了3天的小程序 收获不小 很有乐趣 在看书之余动手做做小程序(真的很小很小,,)成功后很有成就感
还有些需要改进的,...
阅读全文 | 评论次数(0) | 浏览次数(285) | 所属类型(小程序)

[2010-12-09 11:42] 【虎彡】数据排序

键盘接收8个一位正数,排序
              ASSUME    CS:CODE,DS:DATA 
        DATA  SEGMENT 
      BUFFER  DB        10 DUP(0) 
        DATA  ENDS 
        CODE  SEGMENT 
      START: 

              MOV       AX,DATA 
              MOV       DS,AX 

              LEA       BX,BUFFER 
              MOV...
阅读全文 | 评论次数(0) | 浏览次数(311) | 所属类型(小程序)

[2010-12-09 11:24] 【虎彡】正负数归类,并显示个数

STACKS  SEGMENT   STACK       ;堆栈段
              DW        128 DUP(?)  ;注意这里只有128个字节
      STACKS  ENDS
       DATAS  SEGMENT               ;数据段
           A  DB        20 DUP (?)
           P  DB        20 DUP (0)
           D  DB        20 DUP (0)
 
       DATAS  ENDS
       CODES  SEGMEN...
阅读全文 | 评论次数(0) | 浏览次数(303) | 所属类型(小程序)
页码数(2):  1  2