- [anwu00] 写反了,最小为1001H,最大为2000H 05/10 11:04
- [crazyman] 博主确实好久不见了。 这里是一个开始,希望更多人都能从这里明确方向,开始自己的计算机之路。 08/16 14:55
- [游客] 你那个循环3FH错了 应该是循环40H 因为是添入0-63 就是添64次 08/02 17:27
- [游客] 我猜是因为2000:0000这段是给当成了一段栈寄存器使用了 所以一些数据会往里写入 写入的数据有的 07/29 23:00
- [游客] 2^N=寻址能力 N是总线宽度 算出的能力是B为单位 比如宽度13的CPU 2^13=8192 07/29 22:56
- [游客] 恩,有道理 04/08 12:25
- [atel] 那主程序我测试过的,可以显示的.但是加载到了软盘就不行了. 04/06 22:36
- [wdm] 没有错误啊。 我试了,运行ok的! 04/06 18:17
- [wdm] 说明程序还是有问题哟。 建议你一点一点的来做,先做一显示功能选项的界面吧。 然后在一点点的进行功 04/06 18:10
- [atel] 有什么错误? 04/04 21:33
[2008-03-23 11:21] 实验十四
assume cs:code
data segment
db 16 dup (0)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov al,9
mov dh,'/'
mov cx,2
s: call change
mov al,8
add bx,3
loop s
mov al,7
mov dh,' '
...
data segment
db 16 dup (0)
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov al,9
mov dh,'/'
mov cx,2
s: call change
mov al,8
add bx,3
loop s
mov al,7
mov dh,' '
...
阅读全文 |
评论次数(1) |
浏览次数(371) |
所属类型(汇编实验)
[2008-03-22 22:24] 检测点14.2
编程:用加法指令和移位指令计算(ax)=(ax)*10
assume cs:code
code segment
start: mov bx,ax
shl ax,1
mov cl,3
shl bx,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
考虑到进位把这题重新做了一下。如下:
assume cs:code
code segment
start: mov bx,ax
mov dx,0
...
assume cs:code
code segment
start: mov bx,ax
shl ax,1
mov cl,3
shl bx,cl
add ax,bx
mov ax,4c00h
int 21h
code ends
end start
考虑到进位把这题重新做了一下。如下:
assume cs:code
code segment
start: mov bx,ax
mov dx,0
...
阅读全文 |
评论次数(1) |
浏览次数(406) |
所属类型(汇编作业)
[2008-03-22 21:56] 检测点14.1
(1),编程,读取CMOS RAM的2号单元的内容.
assume cs:code
code segment
start: mov al,2
out 70h,al
in al,71h
mov ax,4c00h
int 21h
code ends
end start
(2),编程:向CMOS RAM的2号单元写入0.
assume cs:code
code segment
start: mov al,2
out 70h,al
mov al,0
out 71h,al...
assume cs:code
code segment
start: mov al,2
out 70h,al
in al,71h
mov ax,4c00h
int 21h
code ends
end start
(2),编程:向CMOS RAM的2号单元写入0.
assume cs:code
code segment
start: mov al,2
out 70h,al
mov al,0
out 71h,al...
阅读全文 |
评论次数(1) |
浏览次数(292) |
所属类型(汇编作业)
[2008-03-22 18:43] 实验十三(3)
下面的程序,分别在2、4、6、8行显示四句英文诗,补全程序.
assume cs:code
code segment
s1: db 'Good,btter,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s : dw offset s1,offset s2,offset s3,offset s4
row: db 2,4,6,8
start: mov ax,cs
mov ds,...
assume cs:code
code segment
s1: db 'Good,btter,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s : dw offset s1,offset s2,offset s3,offset s4
row: db 2,4,6,8
start: mov ax,cs
mov ds,...
阅读全文 |
评论次数(1) |
浏览次数(241) |
所属类型(汇编实验)
[2008-03-22 18:25] 实验十三(2)
安装程序.
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset lp
mov cx,offset lpend-offset lp
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
...
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset lp
mov cx,offset lpend-offset lp
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
...
阅读全文 |
评论次数(2) |
浏览次数(326) |
所属类型(汇编实验)
[2008-03-21 15:28] 实验十三(1)
int7ch中断例程安装程序如下。
此程序由以前的show_str改编.就不注释了.
通过DEBUG跟踪,子程序与中断例程的比较,发现两者有很多相似之处,通过调用子程序只不过是在同一程序中完成,而中断例程则相当于由两个程序完成.程序调用加载了子程序;而中断例程存在于内存中无需程序加载.
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset show_s...
此程序由以前的show_str改编.就不注释了.
通过DEBUG跟踪,子程序与中断例程的比较,发现两者有很多相似之处,通过调用子程序只不过是在同一程序中完成,而中断例程则相当于由两个程序完成.程序调用加载了子程序;而中断例程存在于内存中无需程序加载.
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset show_s...
阅读全文 |
评论次数(1) |
浏览次数(366) |
所属类型(汇编实验)
[2008-03-21 13:37] 检测点13.2
判断下面说法的正误:
(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初试化程序.
此说法错误,FFFF:0为ROM所提供,不可改变.
(2)int19H中断例程,可以由DOS提供.
此说法错误,int19h乃用作操作系统引导,在运行int19h前DOS无法引导,DOS怎么可能提供int19h呢....
(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初试化程序.
此说法错误,FFFF:0为ROM所提供,不可改变.
(2)int19H中断例程,可以由DOS提供.
此说法错误,int19h乃用作操作系统引导,在运行int19h前DOS无法引导,DOS怎么可能提供int19h呢....
阅读全文 |
评论次数(1) |
浏览次数(327) |
所属类型(汇编作业)
[2008-03-21 11:08] 检测点13.1
(1)在上面的内容中,我们用7ch中断例程实现loop的功能,则上面的7ch中断例程所能进行最大转移位移
是多少?32768
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移.
应用举例 : 在屏幕的第12行显示data段中,以0结尾的字符串.
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,...
是多少?32768
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移.
应用举例 : 在屏幕的第12行显示data段中,以0结尾的字符串.
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,...
阅读全文 |
评论次数(4) |
浏览次数(272) |
所属类型(汇编作业)
[2008-03-20 17:15] 实验十二
代码我就不贴了,书上都有,改几个数据而已.DEBUG我也试过了,可以用.
我想问个问题,为什么那个中断用一次可以了,下一次用就没了,就好象恢复了初始化. 是什么原因? 没有真正的写入内存?还是其他原因?...
我想问个问题,为什么那个中断用一次可以了,下一次用就没了,就好象恢复了初始化. 是什么原因? 没有真正的写入内存?还是其他原因?...
阅读全文 |
评论次数(1) |
浏览次数(360) |
所属类型(汇编实验)
[2008-03-20 11:53] 检测点12.1
(1)用DEBUG查看内存,情况如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则,3号中断源对应的中断处理程序的入口地址为:________. 0070:018B
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元地址为:_____.0000:(4*N)
存储N号中断源对应的中断处理程序入口的段地址的内存单元地址为:______.0000:(4*N+2)...
0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00
则,3号中断源对应的中断处理程序的入口地址为:________. 0070:018B
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元地址为:_____.0000:(4*N)
存储N号中断源对应的中断处理程序入口的段地址的内存单元地址为:______.0000:(4*N+2)...
阅读全文 |
评论次数(3) |
浏览次数(278) |
所属类型(汇编作业)