Я новичок в программировании на ассемблере, и у меня возникли некоторые проблемы с этой проблемой.Таким образом, адреса команд ниже определяются содержимым CS:IP
регистров.Если CS
равно 0750h, а IP
равно 047Bh, найдите все адреса команд.Дано, что все команды имеют размер 3 байта.
Я обнаружил, что адрес равен сегмент * 10h + смещение .Это означает 0750h * 10h + 047Bh = 797Bh.После этого, чтобы найти адрес каждой команды, я просто добавляю 3 к 797Bh?Я прав?
start:
mov ax, data
mov ds, ax
mov al,3Fh
mov ah,30h
cmp al,ah
jl p1
add ah,al
sub ah,30h
p1:
add al,ah
sub al,30h
mov ax, 4c00h
int 21h
ends