- [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-25 20:44] 实验十七
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,200h
mov si,offset int7ch
mov cx,offset int7chend-offset int7ch
cld
rep movsb
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
int7ch: call diskM
cmp bx,2879
ja return
mov al,1
mov dl,0
cmp ah,1
ja return
je first
mov ah,2
int 13h
return: iret
first: mov ah,3
int 13h
jmp short return
diskM: push ax ;//此程序功能通过传参数bx返回ch、cl,dh.
push bx
mov ax,bx
mov dx,0
mov bx,1440
div bx ;//逻辑扇区号/(1440)
push ax ;//保存商
mov ax,dx ;//传余数作被除数.
mov bl,18
div bl ;//(rem(逻辑扇区号/1440))/18
mov ch,al ;//返回ch磁道号
inc ah ;//余数自加1.
mov cl,ah ;//返回cl扇区号
pop dx ;//取商
mov dh,dl ;//返回dh磁面号. int(bx/1440)<255.所以dl即为商.
pop bx
pop ax
ret
int7chend: nop
code ends
end start
[ 游客 发表于 2008-03-26 08:56 ]
博主继续~!
[ tomato 发表于 2008-03-26 11:16 ]
博主要学完了啊!当彻底都学完了,还是想知道博主的感受!呵呵
[ crazyman 发表于 2008-03-26 17:27 ]
快学完了,不知道网上的检测题做的怎么样了?
[ crazyman 发表于 2008-03-26 17:33 ]
博主这个程序自己测试了么?能正确运行么?中断向量表不设置了?入口参数的要求都能达到?
我觉得程序有问题。
[ atel 发表于 2008-03-26 19:29 ]
sorry ,忘了设中断向量表.我会继续努力的.我一般过了检测题才会继续下一章的.
[ atel 发表于 2008-03-26 19:34 ]
博主这个程序自己测试了么?能正确运行么?中断向量表不设置了?入口参数的要求都能达到?
我觉得程序有问题。
谢谢你的支持,此程序是能够正确运行的,入口参数我也有看过,我觉得可以达到阿.希望你指出错误.
[ atel 发表于 2008-03-26 23:28 ]
看过了taoling的博文,似乎试验十七是有点问题.我得好好想想了.
[ taotling 发表于 2008-03-27 00:26 ]
首先:你读的时候的INT 13H的参数不全。
其次:求根据逻辑扇区求物理扇区不要用老师给的公式。
[ taotling 发表于 2008-03-27 00:28 ]
加油。。。