汇编终极boss

这是迄今为止我编写的最复杂的程序(其实也没编过什么),即王爽汇编最后一个课程设计。

这次课程设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。
该程序的功能如下:

1)列出功能选项,让用户通过键盘进行选择,界面如下:
1. reset pc :重新启动计算机
2. start system :引导现有操作系统
3. clock :进入时钟程序
4. setclock :设置时间

2)用户输入“1”后重新启动计算机。

3)用户输入“2”后引导现有操作系统。

4)用户输入“3”后,执行动态显示当前日期、时间的程序,按下f1键后,改变显示颜色;按下esc键,返回主选单。

5)用户输入“4”后可更改当前的日期,时间,更改后返回到主选单

Continue reading

明天考试

最近越来越浮躁了,不爱上课,不爱听课,不爱写作业。

还总是在课堂上玩游戏--俄罗斯方块。

今天去领了网工的准考证,山西工程职业技术学院,这是哪儿呀?

很是奇怪对明天的考试竟然无动于衷….

差点挂掉

北京时间5月3日凌晨3点33分,历时4个多小时,做完了第一个课程设计。很是庆幸我的手指,还有敲打键盘的力气,饥锇,头沉,眼酸,旁边有个蚊子在我身边飞来飞去,右前上方,gali的呼噜声滚滚而来,无穷无尽,右前方,shit的磨牙声清脆刺耳,边绵不绝。不写了,不说了,快挂 了,倒…那个小蚊…你想咬就咬吧…..啊…
Continue reading

十进制数据显示

昨晚快做完的时候,快要断电了,结果不得不赶紧关机我这个没有电池的伪笔记本,现在终于完成通过调试了,这里面用到了三个子程序,这么长长的一大篇近百行源码实现的功能却简单的令人发指:以十进制方式将ax中的数据显示在屏幕上。

不过,这对于了解电脑内部的工作原理是非常有用的。以前学的半吊子硬件基础对现在的汇编学习也起了不小帮助。

网工看的一踏糊涂,法语课上的直想呕吐(一个单词tmd十几个变位),还是汇编好。

某些老师上课烂还可以原谅,但还爱点名就是你们的不对了。

五一到了,明天去野人谷。
Continue reading

王爽汇编实验九

assume cs:code,ds:data,ss:stack

data segment
db 3 dup (‘wweellccoommee ttoo mmaassmm!!’) ;比较变态
data ends

stack segment
dw 0,0,0,0,0,0,0,0
stack ends

code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov ax,0b800h
mov es,ax
mov bx,780h

mov di,1
mov cx,16
t1:mov byte ptr 00h[di],02h
mov byte ptr 20h[di],24h
mov byte ptr 40h[di],71h
add di,2
loop t1 ;集中设置颜色

mov cx,3
mov di,0
s1:push cx
mov cx,16
mov si,0
s:mov ax,[di]
mov es:[bx].40h[si],ax
add si,2
add di,2
loop s
add bx,0a0h
pop cx
loop s1 ;将字符放入屏幕中央

mov ax,4c00h
int 21h
code ends
end start
其实,还有更简单的方法,就这么着吧!

喇叭发声

原程序是由chunk lee在debug下编写的,我将其改编,以便用masm5编译。尽管声音只有嘟的一下,但能够体验一下通过汇编直接控制硬件的感觉,还是很有趣的。

assume cs:code
code segment
mov cx,700h
s1:push cx
in al,61h
xor al,02h
out 61h,al
mov cx,1500h
s:loop s
pop cx
loop s1
mov ax,4c00h
int 21h
code ends
end