汇编:关于" mov"命令

时间:2016-02-16 13:01:23

标签: assembly mov

我很高兴见到你......大家好......

我正在制作一个操作系统...... 今天,我制作了可以通过LBA读取硬盘扇区的引导加载程序。

我成功完成了没有任何错误,但我有一个问题。

这是我在教程后编写的代码。 (只是整个代码的一部分)

READ:
; Disk Address Packet (DAP)
mov al, 0x10 ; byte : Size of structure
mov [0x500], al

mov ax, 0x1 ; word : Sectors to read
mov [0x502], ax

mov eax, 0x08000
mov [0x504], eax ; Segment:Offset

mov eax, 1 ; qword : Number: Access for LBA
mov [0x508], eax

mov ax, 0x500
mov si, ax ; DAP's Segment:Offset records to si:ds
mov ax, 0
mov ds, ax
mov ah, 0x42 ; LBA Read Order
mov dl, 0x80 ; 0x80 = First Hard Disk (HDD)

int 0x13 ; Execute
jc READ ; Try again if failed.

我想知道为什么mov si, ax意味着"记录到si:ds" ...

Isn&#t; t mov si, ax表示"记录到" ds:si"",not" si:ds"?

我真的很想知道这部分...... 为什么代码意味着什么?我学错了吗???

感谢您阅读我的问题...... 我对你的回答非常满意!

(抱歉我的英语不好......)

0 个答案:

没有答案