x86: сегменты для строчных операций.

 Давно собирался разобраться с замысловатыми префиксами, о которых Лабинский дурачок Bitl даже не знал. Нашел обсуждение на форуме :

    movs byte [di],[si]        ; transfer byte

    movs word [es:di],[ss:si]  ; transfer word

    movsd                      ; transfer double word


Записал код для Flat Assembler и сравнил с отладчиком DosBox:
org 100h
use16
movsd
rep fs movsd
movs word [es:di],[ss:si]
movs byte [di],[si]
movs word [es:di],[ss:si]
ret

Теперь контрольный выстрел - debug для win7:

Может, мне пригодится на будущие проекты.

Комментарии