LINUX.ORG.RU

И ещё: я плохо знаю этот синтаксис, что обозначает les bx,[addr-packet](si)? Я так понимаю, в bx идёт BOOTSEG*16, а в es - 0 (ведь в si у нас #packet). Если я прав, то зачем это нужно (в смысле почему сразу BOOTSEG*16 не отправить)?

drish ★★
() автор топика

С packet, addr и daddr разобрался: это структура, на которую указывает DS:SI при вызове int 0x13.

drish ★★
() автор топика
Ответ на: комментарий от drish

фишка в том, что для AT&T ассемблера все наоборот, по сравнению с TASM и MASM т.е. mov bx,ax значит ax=bx

а не bx=ax

fghj ★★★★★
()
Ответ на: комментарий от fghj

Нет, это не AT&T синтаксис, (это, если я не ошибаюсь, компилится с помощью as86). Вот:
mov ds,ax ! DS=0
mov es,ax ! ES=0
mov di,#PARTS_LOAD ! move to here 0000:0600
mov cx,#SECTOR_SIZE/2 ! one sector worth
В AT&T это бы выглядело так:
movw %ax, %ds
movw %ax, %es
movw $PARTS_LOAD, %di
movw $SECTOR_SIZE/2, %cx

drish ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.