Сейчас на форуме: jinoweb (+6 невидимых)

 [email protected] —› Программирование —› assembler win
Посл.ответ Сообщение

Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 27 августа 2018 19:41
· Личное сообщение · #1

read the Tutrial Exсяessilon, he writes that you need to put in the memory model .386 a model of commands, why?



Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 27 августа 2018 21:43
· Личное сообщение · #2

mak пишет:
Del

and now all program 386?

Добавлено спустя 19 минут
mak пишет:
итата · Личное сообщение · Стереть #2

say me please, you say only .386, why?

Добавлено спустя 54 минуты
mak пишет:
Del

it turns out that we can use 386, 486, 586 any of them?

Добавлено спустя 55 минут
.586 ; or use .386 or .486 as appropriate for your processor
.model flat, stdcall

The .286P, .386P, and .486P assembler directives enable the use of privilege level instructions as well as the normal instruction set for the given processor. You won?t need these unless you are writing your own operating-system or device drivers. So just stick with .586 etc.



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 28 августа 2018 01:51 · Поправил: dosprog
· Личное сообщение · #3

mishgan777 пишет:
say me please, you say only .386, why?

If your target is WIN32 then u must use .386 (+) directive.

mishgan777 пишет:
to put in the memory model .386 a model of commands

No. "model" directive (in TASM) can be only:
TINY, SMALL, MEDIUM,...,FLAT.

".386" is processor directive.

"model TINY" directive can be used with ".386p" directive also.





Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2018 10:13
· Личное сообщение · #4

dosprog пишет:
No. "model" directive (in TASM) can be only:
TINY, SMALL, MEDIUM,...,FLAT.

".386" is processor directive.

"model TINY" directive can be used with ".386p" directive also.

so now the flute model is used everywhere, is it necessary to specify 386 ... 586?



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 28 августа 2018 16:33
· Личное сообщение · #5

Maybe it's time to read some book, don't you think so?
Yes, it's necessary to use .386 or above - without it you will not be allowed to use 32bit registers, some instructions that was first introduced in 80386 and so on.



Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2018 16:42
· Личное сообщение · #6

cppasm пишет:
Может быть, пришло время прочитать какую-то книгу, не так ли?
Да, необходимо использовать 0,386 или выше - без него вам не разрешат использовать 32-битные регистры, некоторые инструкции, впервые введенные в 80386 и т. Д.

I also read the essayelon tutorial, they indicate that the best option is not 586 or 486 but 386, why is that so?




Ранг: 271.4 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 августа 2018 17:03
· Личное сообщение · #7

mishgan777 пишет:
586 or 486 but 386

It's just instruction set. Why 386 is best option - ask a tutorial's author.

-----
2 оттенка серого


| Сообщение посчитали полезным: mishgan777

Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2018 19:00
· Личное сообщение · #8

f13nd пишет:
Это всего лишь набор инструкций. Почему 386 - лучший вариант - спросите автора учебника.

but in general in the code, I can specify any directive from 386?



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 28 августа 2018 19:34 · Поправил: cppasm
· Личное сообщение · #9

Because .386 means generic 32-bit CPU.
Generated code will run on any 32-bit CPU.
If you specify higher model (for example .686) there is possibility that your code will not run on earlier models, espessially if you are using macros like IF or similar.
It's your choise if this is important to you or not.



Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 августа 2018 19:46
· Личное сообщение · #10

cppasm пишет:
Because .386 means generic 32-bit CPU.
Generated code will run on any 32-bit CPU.
If you specify higher model (for example .686) there is possibility that your code will not run on earlier models, espessially if you are using macros like IF or similar.
It's your choise if this is important to you or not.

This is an assembly directive telling the assembler to use the set of operations for the processor 80386. You can also use .486, .586, but the safest choice is to specify .386. There are also two almost identical choices for each CPU. .386 / .386p, .486 / .486p. These "p" -version are only needed when your program uses the corrected instructions, that is, the instructions that are stored in the protected mode by the processor / operating system. They can be used only in protected code, for example, vdx-drivers. As a rule, your programs will work in unprovided mode, so it's better to use non-"p" versions.
MAYBE 386 ONLY?

Добавлено спустя 8 минут
the best choice is 386?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 29 августа 2018 00:45
· Личное сообщение · #11

mishgan777 пишет:
the best choice is 386?


Stop torturing yourself, man!
It is THE BEST choise.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 29 августа 2018 20:55
· Личное сообщение · #12

C:\ms32>ml /c /coff new2.asm
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

Assembling: new2.asm

***********
ASCII build
***********

new2.asm(34) : error A2111: conflicting parameter definition
new2.asm(36) : error A2008: syntax error : HINSTANCE
new2.asm(37) : error A2012: PROC, MACRO, or macro repeat directive must precede
LOCAL
new2.asm(38) : error A2012: PROC, MACRO, or macro repeat directive must precede
LOCAL
new2.asm(39) : error A2012: PROC, MACRO, or macro repeat directive must precede
LOCAL
new2.asm(60) : error A2006: undefined symbol : wc
new2.asm(60) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(75) : error A2006: undefined symbol : hwnd
new2.asm(75) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(76) : error A2006: undefined symbol : hwnd
new2.asm(76) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(80) : error A2006: undefined symbol : msg
new2.asm(80) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(82) : error A2006: undefined symbol : msg
new2.asm(82) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(83) : error A2006: undefined symbol : msg
new2.asm(83) : error A2114: INVOKE argument type mismatch : argument : 1
new2.asm(42) : error A2006: undefined symbol : wc
new2.asm(43) : error A2006: undefined symbol : wc
new2.asm(44) : error A2006: undefined symbol : wc
new2.asm(45) : error A2006: undefined symbol : wc
new2.asm(47) : error A2006: undefined symbol : wc
new2.asm(49) : error A2006: undefined symbol : wc
new2.asm(50) : error A2006: undefined symbol : wc
new2.asm(52) : error A2006: undefined symbol : wc
new2.asm(53) : error A2006: undefined symbol : wc
new2.asm(55) : error A2006: undefined symbol : wc
new2.asm(57) : error A2006: undefined symbol : wc
new2.asm(59) : error A2006: undefined symbol : wc
new2.asm(73) : error A2006: undefined symbol : hwnd
new2.asm(86) : error A2006: undefined symbol : msg

C:\ms32>^A^Awhat is it?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 30 августа 2018 00:33 · Поправил: plutos
· Личное сообщение · #13

mishgan777 пишет:
C:\ms32>^A^Awhat is it?


Obviously, you have no clue about what is going on here.
Nobody will teach you assembly language basics.
You have to learn it yourself.
Pick a good textbook on ASM and read it carefully. Then come back to your questions.

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: mishgan777

Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 августа 2018 13:06
· Личное сообщение · #14

plutos пишет:
Obviously, you have no clue about what is going on here.
Nobody will teach you assembly language basics.
You have to learn it yourself.
Pick a good textbook on ASM and read it carefully. Then come back to your questions.

what textbooks to read?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 31 августа 2018 01:11 · Поправил: plutos
· Личное сообщение · #15

mishgan777 пишет:
what textbooks to read?


There are literally dozens of them around.
Take a look at --> that page <--, which show results of google searching on “Assembly language textbooks”. Most of them are either available for free download in pdf format or can be purchased used for a nominal price.
I would personally recommend Kip Irvine’s books but it is just my humble opinion.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 7.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 31 августа 2018 12:28
· Личное сообщение · #16

plutos пишет:
There are literally dozens of them around.
Take a look at --> that page <--, which show results of google searching on “Assembly language textbooks”. Most of them are either available for free download in pdf format or can be purchased used for a nominal price.
I would personally recommend Kip Irvine’s books but it is just my humble opinion.

which of them are good to tell?

Добавлено спустя 2 часа 2 минуты
Which authors are best?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 01 сентября 2018 00:06 · Поправил: plutos
· Личное сообщение · #17

mishgan777 пишет:
Which authors are best?


I personally recommend Kip Irvine’s books .

-----
Give me a HANDLE and I will move the Earth.




Ранг: 2.8 (гость), 1thx
Активность: 0.020
Статус: Участник

Создано: 20 ноября 2018 15:38
· Личное сообщение · #18

Just do it.
MASM
http://www.masm32.com/download.htm-
---frame---
Code:
  1. .586                    
  2. .model flat, stdcall    
  3.  
  4. date segment 
  5.            
  6. date ends               
  7.  
  8. text segment            
  9. start:                  
  10.          ret                 
  11. text ends              
  12. end start     


ml c/ coff [target.asm]
link /subsystem:windows [target.obj]
-----------------------------------------
Books need to read from different authors. Only many different views help me to understand this programming language.
ps/Sorry about the translator.


 [email protected] —› Программирование —› assembler win
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати