Size: a a a

Ассемблер

2020 June 21

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
на худой конец, посмотри в отладке что используется для вывода в консоль
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
на худой конец, посмотри в отладке что используется для вывода в консоль
в отладке CALL StdOut перекидывает на это
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
а как в исходнике вызываешь?
источник

D

Denis in Ассемблер
в консоли utf8 небось уже давно
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
а как в исходнике вызываешь?
в секции данных есть это:
msg3 db "Áá",0

вывожу на консоль так:
push offset msg3
call StdOut

подключён только один инклуд — masm32rt.inc

выводит как обычную 41 61 Aa
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
в секции данных есть это:
msg3 db "Áá",0

вывожу на консоль так:
push offset msg3
call StdOut

подключён только один инклуд — masm32rt.inc

выводит как обычную 41 61 Aa
а какие хексы у твоих букв? я что то в таблице их не нахожу
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
только á под 160d номером
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
тебе на wide char переходить надо наверное, и там 1 символ - 2байта
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
только á под 160d номером
это обычная кириллическая строчная без диакритика
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
я ввожу латинскую á — оно мне его в отладчике показывает как обычную а, с хексом 41h
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
это обычная кириллическая строчная без диакритика
ввиду того что используешь не юникодные функции, то значит смотреть надо на ascii таблицу. и вот там только á встречается. какими байтами твоя строка инициализируется?
источник

s

s54816 in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
я ввожу латинскую á — оно мне его в отладчике показывает как обычную а, с хексом 41h
У тебя даже исходник неюникодный. Масм вообще умеет прожёвывать UTF-8 исходники?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
иначе говоря, как выводить символы расширенной латиницы в консоль?
использовать API с буквой W на конце
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
утя по умолчанию используются A
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
использовать API с буквой W на конце
кажется получилось, больше спасибо
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
tfyvgubhinjkwaxdrctfgvyuhbjnmkzsdxfcvghbjnsxdfcgvhbjehhfhn
кажется получилось, больше спасибо
покажи код и результат
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
покажи код и результат
всё работает только тогда, когда я вывожу ту переменную, в которую значение было занесено мною через консоль, а вот объявленную переменную со значением Áá выводит кракозябрами. как быть?

include \masm32\include\masm32rt.inc

.data

 msg1 db "Áá",0
 cyr db 500 dup(0)

.code
begin:

 push offset msg1
 call StdOutW

 push 500
 push offset cyr
 call StdInW
 
 push offset cyr
 call StdOutW

 push offset cyr
 call StdOutW

 invoke ExitProcess,0

end begin
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
источник

t

tfyvgubhinjkwaxdrctf... in Ассемблер
ну то есть, неинициализированную и позже заполненную переменную выводит нормально, а инициализированную — нет
источник