;暂时没有安装程序,在Windows下运行3和4功能,4功能现在支持光标;移动功能,暂时未支持修改系统时间功能。
assume cs:code
code segment
jmp near ptr start
x: db 'Please select 1-4:',0
x1: db '1) Reset PC',0
x2: db '2) Start System',0
x3: db '3) Clock',0
x4: db '4) Set Clock',0
s...
- [tomato] 加油! 04/17 15:39
- [tomato] 哦!喔!噢! 04/17 15:29
- [bslg123] 不错,继续加油! 04/09 09:08
- [crazyman] 没问题。 04/07 21:24
- [jltiankong2000] 谢谢crazyman! 03/30 17:22
- [crazyman] 恭喜博主通过课程设计一,下面的学习会更精彩哟,当然也更难点了。加油! 03/30 15:45
- [jltiankong2000] 说的很对,我的这个在课程设计1中有了修改!谢谢指正! 03/30 11:39
- [younggay] 嗯。完成的很不错。不过,有些跟人看法。 你的程序不能支持大于 000A FFFFH这样的数据,也就 03/30 11:20
- [jltiankong2000] 重新整理了一下! divdw:mov bx,dx ;被除数高16位 mov bp, 03/28 21:10
- [jltiankong2000] 谢谢你的鼓励! 03/27 19:26
- [游客] 已经在论坛中找到了个PDF版的谢谢共享资源的朋友! 03/20 14:53
[2009-04-17 12:55] 课程设计2
阅读全文 |
评论次数(1) |
浏览次数(468) |
所属类型(汇编作业)
[2009-04-15 13:07] 实时显示系统时间,按ESC退出显示程序,参看了hustakin的部分代码
assume cs:code
code segment
s: db "yy/mm/dd hh:mm:ss",' '
s1: db 9,8,7,4,2,0
start: ;循环读取CMOS系统时间
call clear
in al,60h
loop1:
mov ah,1 ;判断是否有键盘输入
int 16h
;in al,60h
;cmp al,1
;jne over
jne check
jmp short s2
check...
code segment
s: db "yy/mm/dd hh:mm:ss",' '
s1: db 9,8,7,4,2,0
start: ;循环读取CMOS系统时间
call clear
in al,60h
loop1:
mov ah,1 ;判断是否有键盘输入
int 16h
;in al,60h
;cmp al,1
;jne over
jne check
jmp short s2
check...
阅读全文 |
评论次数(1) |
浏览次数(332) |
所属类型(汇编作业)
[2009-04-08 12:22] 试验12,0号中断处理程序
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*...
code segment
start:mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*...
阅读全文 |
评论次数(1) |
浏览次数(380) |
所属类型(汇编作业)
[2009-04-07 10:41] 试验11,测试过
;letterc
;将以0借位的字符串中的小写字母转变成大写字母
;ds:si指向字符串首地址
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begion:mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:mo...
;将以0借位的字符串中的小写字母转变成大写字母
;ds:si指向字符串首地址
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begion:mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:mo...
阅读全文 |
评论次数(1) |
浏览次数(409) |
所属类型(汇编作业)
[2009-03-30 10:31] 课程设计1,终于完成了!
assume cs:code
stack segment stack
dw 128 dup(0)
stack ends
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982'
db '1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1994','1955'
;以上是表示21年的21个字符
dd 16,2...
stack segment stack
dw 128 dup(0)
stack ends
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982'
db '1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1994','1955'
;以上是表示21年的21个字符
dd 16,2...
阅读全文 |
评论次数(2) |
浏览次数(481) |
所属类型(汇编作业)
[2009-03-29 07:30] 试验10第三个子程序,调试过了
;说明,因为考虑到试验10的最后一个综合题,所以在子程序三中的除法采用了试验10的第二个子程序.
;代码量比较多,我在程序里写的注释不全,先将思路整理如下】
定义了个16个内存单元的空间(原因dd长度的被除数除以10最多也不会超过16次,ffffffffh(4294967295)一共不到16位)
循环1:循环取出6个数
先清理新开辟的16个单元的内存空间(保证16个内存单元一次只存储一个数)
循环11:将第一个数取出,调用子程序2,除以10(0ah)后的余 数保存到新开辟的16个内存单元的空间,知道被除数为0,最后向新开辟的16位内存空间存入0,(为后期取字符做准...
;代码量比较多,我在程序里写的注释不全,先将思路整理如下】
定义了个16个内存单元的空间(原因dd长度的被除数除以10最多也不会超过16次,ffffffffh(4294967295)一共不到16位)
循环1:循环取出6个数
先清理新开辟的16个单元的内存空间(保证16个内存单元一次只存储一个数)
循环11:将第一个数取出,调用子程序2,除以10(0ah)后的余 数保存到新开辟的16个内存单元的空间,知道被除数为0,最后向新开辟的16位内存空间存入0,(为后期取字符做准...
阅读全文 |
评论次数(2) |
浏览次数(430) |
所属类型(汇编作业)
[2009-03-27 11:47] 实验10第2个子程序,divdw,已经测试过
assume cs:code
code segment
start:mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
;X:被除数[0,ffffffff]
;N: 除数[0,ffff]
;H:X高16位,[0,ffff]
;L:X低16位,[0,ffff]
;int():取商
;rem():取余数
;公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N
divdw:mov bx,dx...
code segment
start:mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
;X:被除数[0,ffffffff]
;N: 除数[0,ffff]
;H:X高16位,[0,ffff]
;L:X低16位,[0,ffff]
;int():取商
;rem():取余数
;公式:X/N=int(H/N)*65536+[rem(H/N)*65536+L]/N
divdw:mov bx,dx...
阅读全文 |
评论次数(3) |
浏览次数(387) |
所属类型(汇编作业)
[2009-03-26 19:51] 试验10第一个显示字符串子程序,已经测试过
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,2
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
;参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79)
; (cl)=颜色,ds:s...
data segment
db 'Welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,2
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
;参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79)
; (cl)=颜色,ds:s...
阅读全文 |
评论次数(2) |
浏览次数(322) |
所属类型(汇编作业)
[2009-03-25 17:26] 检测点10.5第二题
下列程序执行后(ax)=? (bx)=?
我的答案是(ax)=1 (bx)=0
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov word ptr ss:[0],offset s
mov ss:[2],cs
call dword ptr ss:[0]
nop
s:mov ax,offset...
我的答案是(ax)=1 (bx)=0
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov word ptr ss:[0],offset s
mov ss:[2],cs
call dword ptr ss:[0]
nop
s:mov ax,offset...
阅读全文 |
评论次数(1) |
浏览次数(333) |
所属类型(汇编作业)
[2009-03-25 15:12] 检测点10.5第一题,请大家帮忙看下,这个答案对么?
下列程序执行后ax中的值是多少?
assume cs:code
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc ax
code ends
end start...
assume cs:code
stack segment
dw 8 dup(0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc ax
code ends
end start...
阅读全文 |
评论次数(3) |
浏览次数(323) |
所属类型(汇编作业)
『 查看更多文章 』