请问汇编问题?我认为很难。

alanyanyi 2003-08-30 12:53:52
请教各位,如何能写一个程序,来完成如下操作。
向软盘的第79磁道的第1扇区写一个数据,比如“12”,然后,再写一段程序,读出来,并在屏幕上显示读出的结果,应该是“12",请大家给出源程序,最好加以解释。谢谢。

一个初学汇编的苦恼者上
...全文
35 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
W32API 2003-09-29
  • 打赏
  • 举报
回复
mov si,0301
mov [si],12
mov ax,0301
mov bx,0200
mov cx,4e01
mov dx,0000
int 13 ;你这里只是完全覆盖该扇区,不清楚你之前是否有读取原来的数据,
;你所保存的数据在扇区内部偏移 101H 处。
mov dx,[si]
mov ah,09
int 21 ;这个调用我就记不得了

;另外,你在显示数据前应该先去读取扇区中的数据。

alanyanyi 2003-09-29
  • 打赏
  • 举报
回复
兄台换算的原则是什么?
silenux 2003-09-20
  • 打赏
  • 举报
回复
绝对扇区79应转化为磁道,磁头,扇区号,换算方法:
79/18=4余数7为扇区号
4/2=余数0为磁头号,商2为磁道号
所以应如下设置:
mov dx,0000
mov cx,0207h
mov bx,0000(自己设置)
mov ax,0301
一切正常
alanyanyi 2003-09-19
  • 打赏
  • 举报
回复
我是这样写的
mov si 0301
mov [si] 12
mov ax, 0301
mov bx, 0200
mov cx, 4e01
mov dx, 0000
int 13
mov dx, [si]
mov ah, 09
int 21
Areslee 2003-09-01
  • 打赏
  • 举报
回复
怎么失败的?
把你的代码发上来
alanyanyi 2003-08-31
  • 打赏
  • 举报
回复
那么要怎么做呢?

请大家告知。谢谢。
alanyanyi 2003-08-31
  • 打赏
  • 举报
回复
是阿。
我是那样做的,但是,失败,你们也可以试试阿 。

看上去很简单的,但做起来,好难。
W32API 2003-08-31
  • 打赏
  • 举报
回复
比如你保存在某扇区的第 100H 字节处,那么你去读的时候也要读这个地址的数值。
W32API 2003-08-30
  • 打赏
  • 举报
回复
?一个扇区可是有 512 bytes,你只保存一个 byte?那你得确认你要使用的偏移。。。
alanyanyi 2003-08-30
  • 打赏
  • 举报
回复
麻烦给我一个源程序,我也用13号中断写了,但是,总是失败,麻烦给我一下源程序,谢谢。
紫郢剑侠 2003-08-30
  • 打赏
  • 举报
回复
调用13H磁盘绝对读写中断就可以实现.

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧