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

- [yangjiandage] assume cs:code ds:data 加个 逗号!对的 12/07 22:51
- [yangjiandage] 有点错误 12/07 22:32
- [yangjiandage] assume cs:code code segment start: mov al, 93 12/07 22:31
[2011-01-26 10:58] 【虎彡】**************天平游戏,框架完成*******************
阅读全文 |
评论次数(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 ...
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
...
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 ...
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 ...
;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”等式一样的:先用被除数的十位数除以除数,得到商的十位数,然后用...
;入: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] ...
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天的小程序 收获不小 很有乐趣 在看书之余动手做做小程序(真的很小很小,,)成功后很有成就感
还有些需要改进的,...
感谢圣凡哥让我有了灵感(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...
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...
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) |
所属类型(小程序)