mov ah,1
int 16h
jz sck1 此三条语句为测试是否有键盘输入,此项要感谢cxn的论坛留言。否则我还在绞尽脑汁考虑如何判断。
此程序为未装入磁盘版,为查阅资料后的独立完成。(日期设置时未考虑日期时间的格式)
现说一下对装入磁盘程序的考虑:
1、分类写入磁盘。由于程序总大小超过512b,所以在磁盘的第一扇区写入任务程序安装程序,从第二扇区开始写入具体任务程序,以方便计算机启动后读取运行第一扇区程序,这样计算机启动后首现将第一扇区的任务程序安装程序读入内存并运行,这样该程序运行后就可以将磁盘第二扇区的内容写入到内存,然后通过指令跳转运行任务程序由此来实现课程设计2 要求...
- [游客] 最好加一些注释,好让其他人拜读。 04/22 16:55
- [starrynight] showdtl:mov ax,bx mov si,1440 mov dx,0 03/06 17:43
- [游客] 装个虚拟PC实验起来就方便了 Virtual PC :-) 02/20 10:18
- [wdm] 恩。博主都学到了最后了,马上就OK了。而且果真是好的学习榜样,学习就是在于思考。过年了都不放弃,好, 02/09 15:53
- [superdiablo] 博主再好好想想,最好试试看 01/26 23:06
- [superdiablo] 这几个空分别应该填: a[16] a[18] add si,2 当然不排除有其他答案 01/26 22:55
- [wdm] 恩。这事可屏蔽中断响应的必然条件。 01/21 12:29
- [mouse] 还没做到这,帮顶下吧~ 01/13 21:27
- [goodyeah] 书p277所说的a,b后面没有:,他们是同时描述内存地址和单元长度的标号。标号a,描述了地址code 01/13 16:44
- [huibian] 有点不明白,这里换成 add a[8],ax 为什么不行 ----- 博主既然不明白,那是是怎 01/13 12:10
- [maozj] 压栈的执行过程是先将记录栈顶的偏移地址SP寄存器中的内容减2,使得SS:SP指向新的栈顶单元,然后将 04/27 12:50
- [游客] 这个肯定是选1,这样才能完全使用64k内存空间。 02/20 10:20
- [wang28103] 您好,我是个新手,问你个问题,若将以1000H为段地址的整个段空间当作栈使用,那么寄存器SP的初始值 02/10 22:16
[2008-02-11 16:52] 课程设计2(未装入磁盘版,3、4项测试成功)
阅读全文 |
评论次数(2) |
浏览次数(734) |
所属类型(汇编作业)
[2008-02-07 23:42] 课程设计二理论分析之我见(未装入磁盘)
mov ah,1
int 16h
jz sck1 此三条语句为测试是否有键盘输入,此项要感谢cxn的论坛留言。否则我还在绞尽脑汁考虑如何判断。
以上内容是上次提出分析时未获得知识点,使得下面的分析有些繁琐。现在已经ok了,大家可以到我的学习博客里面指点一下我的课程设计2(未装入磁盘版)
乍一看课程设计二似乎很平常,但细细分析起来却是意味颇深,就如同作者所说,是对整本书知识点的概括和总结。下面我说一下自己对课程设计二的肤浅认识,请各位高手多提意见:
分析课程设计二我认为应把它分成两部分1、信息显示部分;2、用户输入部分(这似乎是废话,呵呵,可是通过第17章的学习,我们知...
int 16h
jz sck1 此三条语句为测试是否有键盘输入,此项要感谢cxn的论坛留言。否则我还在绞尽脑汁考虑如何判断。
以上内容是上次提出分析时未获得知识点,使得下面的分析有些繁琐。现在已经ok了,大家可以到我的学习博客里面指点一下我的课程设计2(未装入磁盘版)
乍一看课程设计二似乎很平常,但细细分析起来却是意味颇深,就如同作者所说,是对整本书知识点的概括和总结。下面我说一下自己对课程设计二的肤浅认识,请各位高手多提意见:
分析课程设计二我认为应把它分成两部分1、信息显示部分;2、用户输入部分(这似乎是废话,呵呵,可是通过第17章的学习,我们知...
阅读全文 |
评论次数(1) |
浏览次数(978) |
所属类型(默认类型)
[2008-02-06 17:24] 实验17
assume cs:code
code segment
start:mov bx,35
call showdtl
mov ah,3
mov al,offset csend-offset start
mov bx,0
push ax
mov ax,cs
mov es,ax
pop ax
int 13h
mov ax,4c00h
int 21h
showdtl:mov ax,bx
mov si,1440
mov dx,0
div si
mov dh,al
push dx
mov ax,bx
mov si,14...
code segment
start:mov bx,35
call showdtl
mov ah,3
mov al,offset csend-offset start
mov bx,0
push ax
mov ax,cs
mov es,ax
pop ax
int 13h
mov ax,4c00h
int 21h
showdtl:mov ax,bx
mov si,1440
mov dx,0
div si
mov dh,al
push dx
mov ax,bx
mov si,14...
阅读全文 |
评论次数(1) |
浏览次数(794) |
所属类型(汇编作业)
[2008-01-21 09:25] 检测点17.1
我认为是这个题目是正确的,如果没有将if设置成1,那么在int16中断处理的时候就不能够同时用int9中断将键盘输入写入键盘缓冲区...
阅读全文 |
评论次数(1) |
浏览次数(830) |
所属类型(汇编作业)
[2008-01-13 18:40] 实验 十六
assume cs:code,ss:stack
stack segment
db 128 dup(0)
stack ends
code segment
setscreen:jmp short set
dw sub1+200h,sub2+200h,sub3+200h,sub4+200h
;这里加200h使得程序安装后各个子程序相对位移不变。
set: push bx
push si
cmp ah,3
ja sret
mov bx,0
mov ds,bx
mov si,0202h
mov bl,ah
mov bh,0
a...
stack segment
db 128 dup(0)
stack ends
code segment
setscreen:jmp short set
dw sub1+200h,sub2+200h,sub3+200h,sub4+200h
;这里加200h使得程序安装后各个子程序相对位移不变。
set: push bx
push si
cmp ah,3
ja sret
mov bx,0
mov ds,bx
mov si,0202h
mov bl,ah
mov bh,0
a...
阅读全文 |
评论次数(1) |
浏览次数(702) |
所属类型(汇编作业)
[2008-01-12 19:53] 检测点16.1 、 16.2
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s:mov ax,a[si]
add word ptr b[0],ax ;有点不明白,这里换成 add a[8],ax 为什么不行
adc word ptr b[2],0
add si,1
loop s
mov ax,4c00h
int 21h
code ends
end start
...
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s:mov ax,a[si]
add word ptr b[0],ax ;有点不明白,这里换成 add a[8],ax 为什么不行
adc word ptr b[2],0
add si,1
loop s
mov ax,4c00h
int 21h
code ends
end start
...
阅读全文 |
评论次数(4) |
浏览次数(735) |
所属类型(汇编作业)
[2008-01-10 14:01] 实验十五:按下a键,显示全屏'A'
assume cs:code,ss:stack
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,0
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,128
push ds:[9*4]
pop ds:[200h]
push ds:[9*4+2]
pop ds:[202h]
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,...
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,0
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,128
push ds:[9*4]
pop ds:[200h]
push ds:[9*4+2]
pop ds:[202h]
mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset int9
mov di,...
阅读全文 |
评论次数(1) |
浏览次数(552) |
所属类型(汇编作业)
[2008-01-10 13:58] 检测点15.1
(1)pushf
call dword ptr ds:[0]
(2)cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti...
call dword ptr ds:[0]
(2)cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti...
阅读全文 |
评论次数(1) |
浏览次数(680) |
所属类型(汇编作业)
[2008-01-06 18:50] 实验14
assume cs:code
data segment
db 9,8,7,4,2,0,'$'
db "// :: "
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov bp,0
s:mov al,[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
...
data segment
db 9,8,7,4,2,0,'$'
db "// :: "
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov bp,0
s:mov al,[si]
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov bx,0b800h
...
阅读全文 |
评论次数(5) |
浏览次数(537) |
所属类型(汇编作业)
[2008-01-06 11:53] 检测点14.1 14.2
14.1
(1)mov al,2
out 70h,al
in al,71h
(2)mov al,2
out 70h,al
mov al,0
out 71h,al
14.2
assume cs:code
code segment
start:mov bx,ax
mov dx,ax
shl bx,1
add ax,bx
mov cl,3
shl dx,cl
add ax,dx
code ends
end start...
(1)mov al,2
out 70h,al
in al,71h
(2)mov al,2
out 70h,al
mov al,0
out 71h,al
14.2
assume cs:code
code segment
start:mov bx,ax
mov dx,ax
shl bx,1
add ax,bx
mov cl,3
shl dx,cl
add ax,dx
code ends
end start...
阅读全文 |
评论次数(2) |
浏览次数(509) |
所属类型(汇编作业)
『 查看更多文章 』