Scania_13 Posted July 3, 2022 at 05:18 PM Share Posted July 3, 2022 at 05:18 PM Estou tentando descobrir os problemas de alguns códigos em assemble, porém não estou conseguindo resolver alguns que são: mov ax, [si][di];mov ds, cs; e mov ax, [si+di+0]. Os erros que aparecem são: illegal index mode (mov ax, [si][di]) illegal use of segment register (mov ds, cs | mov ax, [si+di+0]) Quote Link to comment Share on other sites More sharing options...
fredericopissarra Posted July 3, 2022 at 08:36 PM Share Posted July 3, 2022 at 08:36 PM 3 horas atrás, Scania_13 disse: Estou tentando descobrir os problemas de alguns códigos em assemble, porém não estou conseguindo resolver alguns que são: mov ax, [si][di];mov ds, cs; e mov ax, [si+di+0]. Os erros que aparecem são: illegal index mode (mov ax, [si][di]) illegal use of segment register (mov ds, cs | mov ax, [si+di+0]) Ao usar um endereço efetivo com "registradores" de 16 bits você tem que seguir as regras do 8086. O endereço "base" é sempre BX ou BP, nenhum outro e o índice é sempre SI ou DI, nenhum outro. Assim: mov ax,[si][di] não existe, nem mesmo mov ax,[si+di+0]. 1 Quote Link to comment Share on other sites More sharing options...
Scania_13 Posted July 4, 2022 at 12:28 AM Author Share Posted July 4, 2022 at 12:28 AM 6 horas atrás, Scania_13 disse: E qual seria o problema do mov ds,cs? Quote Link to comment Share on other sites More sharing options...
fredericopissarra Posted July 4, 2022 at 03:24 AM Share Posted July 4, 2022 at 03:24 AM (edited) Também não existe. Tente: mov ax,cs mov ds,ax Edited July 4, 2022 at 03:27 AM by fredericopissarra 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.