[hjp3]hjptype=song&player=1&son=http://www.guoguoer.cn/mp3/奔跑.mp3&autoplay=no&caption=false&lrc=&autoreplay=1&bgcolor=FFFFFF&width=200&height=20[/hjp3]
RT.
怀旧的一天。
posted @ 2008-11-09 12:13 果果’er 阅读(27) 评论(0) 编辑
山楂片
小小一天跟妈妈在路上看见了一个小的食品口袋,问妈妈:“这是什么啊?”
“山楂片”。
“妈妈,我要吃三楂片,还要吃五楂片”。
谁砍倒在这儿的?
小小一天跟舅舅、妈妈、家婆一起到老外婆家去,回来时走了不很远就不想再走了。
舅舅哄他:快看前面,地上放着好多的大电杆啊,我们去坐上面吧!
小小高兴地跑到电杆上爬来爬去,过了好一会,突然问道:“这是谁砍倒放在这里的?”
有东西吃吗?
小小在路上遇到了好久没见到的邻家弟弟,弟弟才几个月,弟弟的爸爸说:“小小,快来看弟弟!”
小小想了一下说道:“有东西吃吗?”
这是二
小小终于上幼儿园了。上了几天幼儿园,舅舅为了试试他学了些什么,就伸出4只手指,问:“小小,这是几?”
小小想了想,快速趁舅舅不注意按下舅舅的两根手指,然后得意地回答:“二!”
舅舅教小小两句英文:
How are you?
Fine,Thank you!
然后考小小:
“小小,How are you?”
“坏人,三口!”
小小一天跟妈妈在路上看见了一个小的食品口袋,问妈妈:“这是什么啊?”
“山楂片”。
“妈妈,我要吃三楂片,还要吃五楂片”。
谁砍倒在这儿的?
小小一天跟舅舅、妈妈、家婆一起到老外婆家去,回来时走了不很远就不想再走了。
舅舅哄他:快看前面,地上放着好多的大电杆啊,我们去坐上面吧!
小小高兴地跑到电杆上爬来爬去,过了好一会,突然问道:“这是谁砍倒放在这里的?”
有东西吃吗?
小小在路上遇到了好久没见到的邻家弟弟,弟弟才几个月,弟弟的爸爸说:“小小,快来看弟弟!”
小小想了一下说道:“有东西吃吗?”
这是二
小小终于上幼儿园了。上了几天幼儿园,舅舅为了试试他学了些什么,就伸出4只手指,问:“小小,这是几?”
小小想了想,快速趁舅舅不注意按下舅舅的两根手指,然后得意地回答:“二!”
三口
舅舅教小小两句英文:
How are you?
Fine,Thank you!
然后考小小:
“小小,How are you?”
“坏人,三口!”
posted @ 2008-11-09 11:12 果果’er 阅读(26) 评论(0) 编辑
一直觉得这个有纪念价值的,现在居然找回来了。先帖一篇,然后打包放到网上硬盘备份!
看了下文件日期,2004.2.15,情人节之后一天,那时候我在做什么啊……
$Segmented
$Mod167
;2004.2.9倒计时显示程序,基础:贪睡猫时钟(数字够小,才够显示)
;2004.3.15 15:55完成
;汇编是自考时学的,且学得并不太好,又忘了不少,因此代码可能有错误或是质量差,
;欢迎提出意见
;修改了原来显示冒号结尾处的代码跳转到本代码,如下:
;0x27D1EE: BB01 BB20
;需改进:日期计算不准确的问题
;说明:日期更换以“日”为标准,因此只改月会被认为并未修改日期,不会刷新。
;Some Function
DrawImageByIndex EQU 0xB3DF04
CalcClockNum EQU 0xC7D1F2
;Some Var
Day EQU 25E0H ;0D:25E0
Month EQU 25E2H
Year EQU 25E4H
;全局变量
DayCount EQU 3E30H ;34:3E30
DateToday EQU 3E32H
;Some Address
PatchBegin EQU 0xC7D230 ;从0xC7D230开始,前面留10B空间 31F:1230
patch section code word AT PatchBegin
fun1 proc far
;Add your Code Here
callr CalcClockNum ;补原指令,来自DrawMaoHao,显示后两位
MOV [-R0],R4
MOV [-R0],R7
MOV [-R0],R8
MOV [-R0],R9
MOV [-R0],R12
MOV [-R0],R13
MOV [-R0],R14
extp #0DH,#3
mov r14,Day ;调用获取日期
mov r13,Month
mov r12,Year
extp #34H,#1
cmp r14,DateToday ;测试是否今天
jmpr cc_Z,IsToday ;是今天转(不需计算)CC_Z
;计算天数并存入全局变量
mov r9,#13H ;日19 依次为直接装入日、月、年
mov r8,#14H ;月4 注:为修改方便编译时改为了14H,以产生 0014更易修改
mov r7,#07D4H ;2004年
sub r7,r12 ;年份相减入r7
jmpr cc_ULT,Error
mov r4,#0CH ;乘以12,得月数
mulu r7,r4
mov r7,MDL ;得到年折算月份
add r8,r7 ;月数累加到r8
sub r8,r13 ;月份相减入r8
jmpr cc_ULT,Error
mov r4,#1EH ;乘以30,得天数
mulu r8,r4
mov r8,MDL ;得到月折算天数
add r9,r8 ;加入到最后月日期,再减今天
sub r9,r14 ;最终天数存入R9
jmpr cc_ULT,Error ;同月但天数更少,转出错
cmp r9,#3E8H ;与1000天比较
jmpr cc_ULT,NoError ;不大于1000,正常转出
Error: ;出错,(天数大于1000/日期超过),置为0
mov r9,#0
NoError:
extp #34H,#2
mov DayCount,r9
mov DateToday,r14 ;计算成功,把“今天”和“天数”存起来。
IsToday: ;取各位数字。先百位。
extp #34H,#1
mov r9,DayCount
mov r7,#0 ;百位先初始化为0
cmp r9,#64H ;与100比较
jmpr cc_ULT,Less100
mov r7,#64H
mov MDL,r9 ;除以100
divu r7
mov r9,MDH
mov r7,MDL
extp #34H,#2
Less100:
mov r8,#0 ;十位先初始化为0
cmp r9,#0AH ;与10比较-----
jmpr cc_ULT,Less10
mov r8,#0AH ;除以10
mov MDL,r9 ;同上保存
divu r8
mov r9,MDH
mov r8,MDL
extp #34H,#2
Less10:
Show:
;开始显示,分别检测百、十、个位为0是否该显示
cmp r7,#0
jmpr cc_EQ,ShowTen ;百位为0不显
mov r12,#10H ;显示百位
mov r13,#20H ;位置X=16,Y=32
mov r14,r7
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
jmpr cc_UC,MustShowTen ;百数不为0,十位必须显示
ShowTen:
cmp r8,#0
jmpr cc_EQ,ShowOne ;百、十位均为0,十位也不显
MustShowTen:
mov r12,#1CH ;十位X=16+12=28
mov r13,#20H ;Y=32
mov r14,r8
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
ShowOne:
mov r12,#28H ;个位X=16+12+12=40
mov r13,#20H ;Y=32
mov r14,r9
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
Exit: ;本来这前面段准备做个循环的,结果一直弄不好,就干脆直接写了。
;且r12、r13不能公用,大概DrawImage中修改了它。
;显示完了,还能做什么?恢复打理一下回去了!
MOV R14,[R0+]
MOV R13,[R0+]
MOV R12,[R0+]
MOV R9,[R0+]
MOV R8,[R0+]
MOV R7,[R0+]
MOV R4,[R0+]
return:rets ;此处改为RET仍然编译为DB 00,大约是作为一个程序来编译的,要将
fun1 endp ;编译结果改为CB 00,不然会死机。
patch ends
End
$Mod167
;2004.2.9倒计时显示程序,基础:贪睡猫时钟(数字够小,才够显示)
;2004.3.15 15:55完成
;汇编是自考时学的,且学得并不太好,又忘了不少,因此代码可能有错误或是质量差,
;欢迎提出意见
;修改了原来显示冒号结尾处的代码跳转到本代码,如下:
;0x27D1EE: BB01 BB20
;需改进:日期计算不准确的问题
;说明:日期更换以“日”为标准,因此只改月会被认为并未修改日期,不会刷新。
;Some Function
DrawImageByIndex EQU 0xB3DF04
CalcClockNum EQU 0xC7D1F2
;Some Var
Day EQU 25E0H ;0D:25E0
Month EQU 25E2H
Year EQU 25E4H
;全局变量
DayCount EQU 3E30H ;34:3E30
DateToday EQU 3E32H
;Some Address
PatchBegin EQU 0xC7D230 ;从0xC7D230开始,前面留10B空间 31F:1230
patch section code word AT PatchBegin
fun1 proc far
;Add your Code Here
callr CalcClockNum ;补原指令,来自DrawMaoHao,显示后两位
MOV [-R0],R4
MOV [-R0],R7
MOV [-R0],R8
MOV [-R0],R9
MOV [-R0],R12
MOV [-R0],R13
MOV [-R0],R14
extp #0DH,#3
mov r14,Day ;调用获取日期
mov r13,Month
mov r12,Year
extp #34H,#1
cmp r14,DateToday ;测试是否今天
jmpr cc_Z,IsToday ;是今天转(不需计算)CC_Z
;计算天数并存入全局变量
mov r9,#13H ;日19 依次为直接装入日、月、年
mov r8,#14H ;月4 注:为修改方便编译时改为了14H,以产生 0014更易修改
mov r7,#07D4H ;2004年
sub r7,r12 ;年份相减入r7
jmpr cc_ULT,Error
mov r4,#0CH ;乘以12,得月数
mulu r7,r4
mov r7,MDL ;得到年折算月份
add r8,r7 ;月数累加到r8
sub r8,r13 ;月份相减入r8
jmpr cc_ULT,Error
mov r4,#1EH ;乘以30,得天数
mulu r8,r4
mov r8,MDL ;得到月折算天数
add r9,r8 ;加入到最后月日期,再减今天
sub r9,r14 ;最终天数存入R9
jmpr cc_ULT,Error ;同月但天数更少,转出错
cmp r9,#3E8H ;与1000天比较
jmpr cc_ULT,NoError ;不大于1000,正常转出
Error: ;出错,(天数大于1000/日期超过),置为0
mov r9,#0
NoError:
extp #34H,#2
mov DayCount,r9
mov DateToday,r14 ;计算成功,把“今天”和“天数”存起来。
IsToday: ;取各位数字。先百位。
extp #34H,#1
mov r9,DayCount
mov r7,#0 ;百位先初始化为0
cmp r9,#64H ;与100比较
jmpr cc_ULT,Less100
mov r7,#64H
mov MDL,r9 ;除以100
divu r7
mov r9,MDH
mov r7,MDL
extp #34H,#2
Less100:
mov r8,#0 ;十位先初始化为0
cmp r9,#0AH ;与10比较-----
jmpr cc_ULT,Less10
mov r8,#0AH ;除以10
mov MDL,r9 ;同上保存
divu r8
mov r9,MDH
mov r8,MDL
extp #34H,#2
Less10:
Show:
;开始显示,分别检测百、十、个位为0是否该显示
cmp r7,#0
jmpr cc_EQ,ShowTen ;百位为0不显
mov r12,#10H ;显示百位
mov r13,#20H ;位置X=16,Y=32
mov r14,r7
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
jmpr cc_UC,MustShowTen ;百数不为0,十位必须显示
ShowTen:
cmp r8,#0
jmpr cc_EQ,ShowOne ;百、十位均为0,十位也不显
MustShowTen:
mov r12,#1CH ;十位X=16+12=28
mov r13,#20H ;Y=32
mov r14,r8
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
ShowOne:
mov r12,#28H ;个位X=16+12+12=40
mov r13,#20H ;Y=32
mov r14,r9
add r14,#3BH ;59+i,就是数字几
calls seg(DrawImageByIndex),sof(DrawImageByIndex);
Exit: ;本来这前面段准备做个循环的,结果一直弄不好,就干脆直接写了。
;且r12、r13不能公用,大概DrawImage中修改了它。
;显示完了,还能做什么?恢复打理一下回去了!
MOV R14,[R0+]
MOV R13,[R0+]
MOV R12,[R0+]
MOV R9,[R0+]
MOV R8,[R0+]
MOV R7,[R0+]
MOV R4,[R0+]
return:rets ;此处改为RET仍然编译为DB 00,大约是作为一个程序来编译的,要将
fun1 endp ;编译结果改为CB 00,不然会死机。
patch ends
End
L.S当时写了个更大的程序,在这里:
http://www.cnblogs.com/lishenglyx/archive/2008/11/09/1329969.html
posted @ 2008-11-09 10:17 果果’er 阅读(68) 评论(1) 编辑

