这个是我第一思路写出来的,之后才看别人的写法,感觉我的思路确实有点复杂了,不过还是想拿出来和大家分享一下,请指教。
assume cs:code;走动的时间演示
code segment
start:
mov cl,9 ;年 月 日 时 分 秒
mov ch,0
mov si,0
mov bx,0b800h ;显存
mov es,bx
push cx
push si
mov cx,12 * 80 + 30
mov dl,20h
call kongge ;清空屏幕子程序
mov cx,25 * 80 - 13 * 8...
- [fpamc] 博主可以学完外中断后,试着将这个程序改成按键退出也行 06/03 09:55
- [powlin1991] 嗯,其实第三组和第四组数据比较方便用同一个子程序,要再优化一下,数据部分都可以用一个子程序,确实还得 05/30 20:24
- [fpamc] 博主还可不可以把这个程序优化一下? 05/29 07:58
- [powlin1991] 自己先顶一下,花了挺多时间写的呢,呵呵。 04/18 14:27
- [tomato] 博主的程序思路挺清晰的。 04/13 22:26
- [tomato] 是的,关键是理解公式。 04/12 16:45
- [tomato] ss:stack,ds:data 这个是告诉编译器,stack,data段中定义的标号编译的时 04/12 10:07
- [fpamc] 同问, 04/11 13:48
- [tomato] 程序思路挺清晰,不错。 04/10 23:35
[2012-06-02 15:44] 死循环,时间走动
阅读全文 |
评论次数(1) |
浏览次数(450) |
所属类型(默认类型)
[2012-05-28 22:16] 汇编课程设计一
assume cs:code ;在显存显示如下数据
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530
dd 1...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530
dd 1...
阅读全文 |
评论次数(2) |
浏览次数(472) |
所属类型(默认类型)
[2012-04-18 14:26] 实验10.3显示字符串,请指教
这个程序写的有点长,不过所幸是自己写出来的。
在debug下-g后显示正常,八行三列,但是-g 17后(17的代码是mov ax,4c00h),不是八行三列,这是为什么呢?是代码的问题,还是编译的问题?望解释下,感激不尽。
assume cs:code ;在显存中显示十进制的数值
data segment
db 10 dup(0) ;数据段的作用是保存dtoc中取得的每个字节
data ends
code segment
start: mov ax,12666 ;要显示的数据
mov bx,data
mov ds,bx
mov si,0
call dt...
在debug下-g后显示正常,八行三列,但是-g 17后(17的代码是mov ax,4c00h),不是八行三列,这是为什么呢?是代码的问题,还是编译的问题?望解释下,感激不尽。
assume cs:code ;在显存中显示十进制的数值
data segment
db 10 dup(0) ;数据段的作用是保存dtoc中取得的每个字节
data ends
code segment
start: mov ax,12666 ;要显示的数据
mov bx,data
mov ds,bx
mov si,0
call dt...
阅读全文 |
评论次数(1) |
浏览次数(451) |
所属类型(汇编作业)
[2012-04-12 22:14] 第8章综合程序题,开始有点复杂了,不习惯用栈
assume cs:code;将data段中的数据写入table段中
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,80353...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,80353...
阅读全文 |
评论次数(1) |
浏览次数(454) |
所属类型(汇编作业)
[2012-04-12 16:09] 实验10.2关于除法溢出的子程序
这个程序很简单,但是对于公式的理解可是费了好大的劲,刚开始看不懂65536,以为要乘上去,后来思考的结论是16的四次方,也就是移到高位去,这也符合除法的dx和ax两个寄存器风格。
代码如下,请各位指教:
assume cs:code ;关于除法溢出的子程序
code segment
start: mov ax,4240h ;定义数字
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h ;程序返回
int 21h
divdw: push ax ;ax入栈保存
mov ax,dx ;把高8位赋...
代码如下,请各位指教:
assume cs:code ;关于除法溢出的子程序
code segment
start: mov ax,4240h ;定义数字
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h ;程序返回
int 21h
divdw: push ax ;ax入栈保存
mov ax,dx ;把高8位赋...
阅读全文 |
评论次数(1) |
浏览次数(441) |
所属类型(汇编作业)
[2012-04-11 12:49] 汇编第7章7.9,还请指教
贴上以前写的代码,运行没什么问题了,小疑问请教下:
ss:stack,ds:data这个干吗用的???连接作用么?但是没有的话调试一下也没有问题啊,而且obj文件link的话还有警告:no stack segment 这是为什么呢?
assume cs:code,ss:stack,ds:data ;把data段中每个单词前四个字母变成大写
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db '1. display '
db '2. brows '
db '3....
ss:stack,ds:data这个干吗用的???连接作用么?但是没有的话调试一下也没有问题啊,而且obj文件link的话还有警告:no stack segment 这是为什么呢?
assume cs:code,ss:stack,ds:data ;把data段中每个单词前四个字母变成大写
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db '1. display '
db '2. brows '
db '3....
阅读全文 |
评论次数(2) |
浏览次数(458) |
所属类型(汇编作业)
[2012-04-10 21:18] 汇编第10章10.1,还请指教
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8 ;显存的行
mov dl,3 ;显存的列
mov cl,2 ;颜色
mov ax,data
mov ds,ax
mov si,0
call show ;跳转指令
mov ax,4c00h ;返回指令
int 21h
show:
mov bx,0
push cx
mov ax,0B800h ;显存段地址
mov es,a...
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8 ;显存的行
mov dl,3 ;显存的列
mov cl,2 ;颜色
mov ax,data
mov ds,ax
mov si,0
call show ;跳转指令
mov ax,4c00h ;返回指令
int 21h
show:
mov bx,0
push cx
mov ax,0B800h ;显存段地址
mov es,a...
阅读全文 |
评论次数(1) |
浏览次数(436) |
所属类型(汇编作业)